IIS ExpressでVS2012を使用していますが、IPアドレスを使用してWebサイトを閲覧できないようです。これを行う方法はありますか?以前のバージョンのVSでは正常に機能していました。
たとえば、次のアドレスは正常に機能します。
http://localhost:64651/
ただし、このアドレスは機能しません。
http://192.168.252.165:64651/
Ipconfigを使用して取得したばかりなので、IPアドレスは確かです。
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ページにアクセスできます。