web-dev-qa-db-ja.com

localhostではなくIPアドレスを使用してWebサイトを参照する

IIS ExpressでVS2012を使用していますが、IPアドレスを使用してWebサイトを閲覧できないようです。これを行う方法はありますか?以前のバージョンのVSでは正常に機能していました。

たとえば、次のアドレスは正常に機能します。

http://localhost:64651/

ただし、このアドレスは機能しません。

http://192.168.252.165:64651/

Ipconfigを使用して取得したばかりなので、IPアドレスは確かです。

21
ADH

IISExpress>Configフォルダ、検索applicationhost.config。変化する <bindings> 以下のように:

<bindings>
      <binding protocol="http" bindingInformation="*:1407:YOUR_IP_ADDRESS" />
</bindings>

これを行う前に、以下のようにnetshコマンドを使用してこのIPアドレスを登録する必要があります。

Windows 7でのポート転送

Windows 7を実行している場合、ほとんどすべての着信接続がロックダウンされるため、アプリケーションへの着信接続を明確に許可する必要があります。まず、管理コマンドプロンプトを起動します。次に、これらのコマンドを実行し、192.168.1.11:1234を使用しているIPとポートに置き換えます。

> netsh http add urlacl url=http://192.168.1.11:1234/ user=everyone

これはhttp.sysこのURLにアクセスしても問題ありません。

重要:user = everyoneパラメーターは、システム言語に従って指定する必要があります。したがって、Windows言語がスペイン語の場合、パラメーターはuser = todosでなければなりません。

> netsh advfirewall firewall add rule name="IISExpressWeb" dir=in protocol=tcp localport=1234 profile=private remoteip=localsubnet action=allow

これにより、Windowsファイアウォールにルールが追加され、ローカルサブネット上のコンピューターのポート58938への着信接続が許可されます。詳細は this link を参照してください。

ポート転送Mac OS X

ステップ1:現在のファイアウォールルールを表示する

Sudo ipfw show

ステップ2:ポート転送ルールを追加する(80から8080)

Tomcatが実行されるデフォルトのポートは8080であるため、ここではポート80から8080(Tomcatのデフォルトポート)へのポート転送を実行するコマンドを示します。もちろん、これは他のポートでも機能し、それに応じてコマンドを調整する必要があります。

Sudo ipfw add 100 fwd 127.0.0.1,8080 tcp from any to any 80 in

これは一時的な変更であり、再起動すると元に戻ります。永続化したい場合は、起動デーモンを作成できます。

オプションの削除ルール

ファイアウォールルールを削除する場合は、次のコマンドを実行します。

Sudo ipfw flush

Mac OS XでのPFCTL(別名PF)を使用したポート転送

pfctlの設定はipfwに似ています。 Githubユーザーkujonが ニースガイド を作成して、pfctlを使用してポート80から別のポートへのポート転送を設定する方法を示します。

注:プロジェクトのバインディングは、その名前を見つけることによってのみ変更してください。 localhostバインディングを維持し、新しいものを追加することもできます。これにより、特定のIPアドレスと古いlocalhostバインディングの両方を使用して同じWebページにアクセスできます。

32
Bhushan Firake