サーバーが実行されている同じWin7PCからhttp:// localhost:8080を介して自分のWebサイトにアクセスすると、正常に機能します。
別のPCから(内部PCのIP http://192.168.1.98:8080を使用して)アクセスしようとすると、機能しません。また、同じマシンでもこのIPでアクセスすることはできません。私は何が間違っているのですか?
(Win 7 PCでファイアウォールを無効にしようとしましたが、役に立ちませんでした)
サーバーが実行されている同じWin7PCからhttp:// localhost:8080を介して自分のWebサイトにアクセスすると、正常に機能します。
別のPCから(内部PCのIP http://192.168.1.98:8080を使用して)アクセスしようとすると、機能しません。また、同じマシンでもこのIPでアクセスすることはできません。私は何が間違っているのですか?
(Win 7 PCでファイアウォールを無効にしようとしましたが、役に立ちませんでした)
まず、サーバーがループバックでリッスンするか、すべてのインターフェイスでリッスンするかを確認します。コマンドラインでnetstat -an
、ポート8080と状態LISTENINGの行を検索します。次のようになります。
TCP 0.0.0.0:8080 0.0.0.0:0リスニング
IPが0.0.0.0の場合、それはすべてのIPアドレスをリッスンしていることを意味し、問題は他の何かがそれをブロックしていることにあります。
IPが127.0.0.1の場合、0.0.0.0アドレスにバインドする必要があります。そして今、楽しい存在-ドキュメント--address=0.0.0.0
によると、実行構成の引数にまたはを追加する必要があり--host=0.0.0.0
ます(GAEのバージョンによって異なります-@momijigariに感謝します)。しかし、私の場合、GWTもあり、パラメーターはGWTに送られ、この引数を受け入れません。しかし一方で、私が個人的にローカルホストに変更しようとしていたすべてのインターフェイスでリッスンします。GWTには-bindAddress
パラメーターがありますが、HTTPではなくコードサーバー(デフォルトで9997ポートを持つもの)のアドレスのみを設定します。
このプログラム引数を渡します。
--address=0.0.0.0
この追加のプログラム引数を使用して開発サーバーを起動します(これはEclipseの「デバッグ構成」にあります)。
--address=0.0.0.0
appengine-gradle-plugin +2.0.0を使用している場合は、次のように設定する必要があります。
appengine {
host = "0.0.0.0"
port = 8888
...
バージョン2.0.0より前のappenginegradleプラグインを使用している場合は、次のように設定する必要があります。
appengine {
httpAddress = "0.0.0.0"
httpPort = 8888
...
<configuration>
<address>0.0.0.0</address>
...
少し更新。バージョン1.8.7以降では、「-address」の代わりにパラメータ「--host」を設定する必要があります
したがって、 -host=0.0.0.0を追加するだけです。
上記の--host=0.0.0.0の提案を使用して動作させました。手順は次のとおりです。
Mavenを介してdevserverを実行している場合は、
<address>0.0.0.0</address>
あなたの下で
<configuration>
appengine-maven-pluginのセクション。
Google App Engine 1.8.9(Javaのみ)の場合、すべてのインターフェイスに-a 0.0.0.0を追加すると、うまくいきました。
-a 0.0.0.0 --port=8888 "/home/dude/workspace-java/me.dude.thermo-AppEngine/war"
Eclipseユーザーは、GUIで次のことを実行して、コマンドライン引数を実装できます。
プロジェクト名を右クリック->[名前を付けてデバッグ](または[名前を付けて実行])->[構成...]->[引数]
プログラム引数領域で置換
--port=8888
と
--port=8888 --host=0.0.0.0
また
--port=8888 --address=0.0.0.0
AppEngine SDKのバージョンに応じて、ポートの可用性とソフトウェアファイアウォールの設定も確認してください。
私はEclipseを使用しています。
追加しようとしましたが、うまくいき--address=0.0.0.0
ませんでした。
次に、コマンドライン引数からエンティティを削除しまし--port=8888
た=>サーバーはデフォルトのポート8080で実行され、チームメンバーは私のIPアドレスを介して私のマシンに接続できました。
--address=0.0.0.0
最後に、初期の投稿で説明されているように、ポートエンティティを削除してエンティティを追加してみてください
ステップ1:LANIPを取得する
Windowsコマンドコンソールに移動します(Win + Rを押してから、「cmd」と入力します)。コンソールで、「ipconfig」と入力します。表示のリストが表示されます。無線LANアダプターWi-Fiで、IPv4アドレスを取得します。192.168.xxになります
LAN IP:192.168.xx
ステップ2:
Eclipseに移動し、構成済みサーバーを開きます
[GAE開発サーバーのプロパティ]->[バインドするローカルインターフェイスアドレス]で、LAN IPアドレスを入力し、保存します。
ステップ3:
これで、次の方法でGAEサーバーにアクセスできます。
8888-GAE開発サーバーに記載されているように、ポート番号を参照します
-bindAddress 0.0.0.0
私が必要なものです。-port引数の直前に追加しました。これはEclipse経由でした
任意のマシン(PC /モバイル)からLANを使用してGAE開発サーバー(ローカルサーバー)にアクセスするには、次のように任意のIPからのリクエストを受け入れるようにAppEngineを構成する必要があります。
実行構成->引数->プログラム引数
--address = 0.0.0.0 port = 8181
注:使用可能な任意のポートを使用できます。
これが完了すると、PCのIPアドレスと上記の構成済みポートを入力するだけで、このローカルサーバーにアクセスできます。
GWTを使用している場合は、このプログラム引数を追加します
-bindAddress 0.0.0.0