質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

2回答

270閲覧

VirtualBoxで構築したWebサーバのWebアプリに外出先のスマホからアクセスしたい

aluter

総合スコア1

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2024/04/01 13:05

編集2024/04/03 05:54

実現したいこと

外出先のスマホから仮想サーバのWebアプリを見れるようにしたいです。

発生している問題・分からないこと

VitualBoxでWebサーバをゲストOSとして構築しました。
WebサーバにWebアプリを構築しました。
ホストOSとゲストOSはホストオンリーアダプターで接続してます。
ホストOSはNATでインターネットと接続してます。
ホストOSのIPアドレスは"192.168.56.1"です。
ゲストOSのIPアドレスは"192.168.56.11"です。
ゲストOSのWebアプリのポート番号は"8000"です。
ホストOSとゲストOSはポートフォワーディングの設定で
ホストOSのポート番号"8090"とゲストOSのポート番号"8000"を設定してます。
ホストOS以外の外部の端末からゲストOSのWebアプリを開きたいです。
ホストOSのプラウザからはゲストOSのWebアプリは接続できます。
ちなみにWebアプリはDjangoで構築しており、
起動コマンドは「python3 manage.py runserver 0.0.0.0:8000」を実行してます。
ゲストOSはUbuntuで構築しております。
どんな追加設定が必要になるのを教えていただきたいです。

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

途中までにはホストOSからも見れなかったのですが、
設定を変更していくうちに、みれるようになりました。
(ただし、外出先のスマホからは見れない)

補足

そもそも実現することが不可能などを知りたいです。
とりあえず現状はセキュリティ面はそこまで意識しておらず、外出先のスマホから見れるようになることを第一に考えたいですが、段階的にセキュリティを意識した構築ができるようになればと考えております。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

まずは、いきなり全部やろうとするのではなく、できることを順番に実現させていきましょう

  1. ホストPCにWebサーバをインストールし、外部から見れるようにする
  2. 仮想マシンのネットワークをブリッジにして、ゲストPCにインストールしたWebサーバを見れるようにする
  3. 仮想マシンのネットワークをホストオンリにして見れるようにする

という段階を踏んでやっていきましょう。
自宅サーバ 作り方、などでぐぐると、解説ページがたくさん出てくるので一通り読んでみるといいかと

投稿2024/04/01 21:59

y_waiwai

総合スコア87784

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ゲストOSのWebアプリのポート番号は"8090"です。

と書いてあることが他の行と矛盾するのですが、

ゲストOSのWebアプリのポート番号は"8000"です。

の書き間違いですかね?その前提で続けると、

ホストOSのポート番号"8090"とゲストOSのポート番号"8000"を設定してます。

の設定が正しければ、同じ家庭内LANからは、http://ホストOSのアドレス:8090 でアクセスできるはずです。
ファイアーウォールで禁止したり、無線LAN接続で子機同士が通信できない設定にしてなければですが。

家庭外からアクセスするためには、プロバイダーからレンタルしているルーターの設定で、同じくポートフォワーディングの設定をする必要があります。
で、外から http://ルーターのインターネット側のグローバルアドレス:ルーターでフォワードしたポート番号 にアクセスできるはずです。
グローバルアドレスが提供されないプロバイダーの場合は無理なので、プロバイダーに相談しましょう。

あるいは、ngrokというツールもあるので、このツールの意味が理解できれば使えるかと思います。ホストオンリーアダプターだと駄目ですが。

投稿2024/04/01 14:03

otn

総合スコア84684

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aluter

2024/04/03 05:56 編集

回答ありがとうございます。 ngrokを利用して試したところ問題が解決しました! ベストアンサーに選ばせていただきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問