私のマシンはWindows 7 Ultimateを実行しています。これが私が(成功して)これまでに行ったことです:
ただし、自分のマシンから、またはどちらかの方法でネットワーク上にない遠くのコンピューターから http://XXX.XX.XX.XX/index.php にアクセスしようとすると、 ..何も得られません。それはしばらくの間(失敗して)接続しようとしますが、結局はあきらめます。
これが私が思っていることです:
よろしくお願いします!
これは、発生しているHTTP.SYSの問題のように聞こえます。
以下は、ローカルホストの外部でIISExpressを公開する方法を説明する Scott Hanselmanのブログ からの抜粋です。ブログの投稿は長くなり、SSLをすべて接続する方法も説明されています。しかし、私が彼の投稿から引き出した以下に投稿したコマンドは、あなたが抱えている問題を解決するのに役立つと思います。
まず、カーネルレベルでHTTP.SYSに、「URL予約」を行うことにより、誰でもこのURLにアクセスできるようにすることを通知する必要があります。管理コマンドプロンプトから:
netsh http add urlacl url=http://<LocalComputerName>:80/ user=everyone
次に、IIS外部からの通信(ローカルホストだけでなく、ネットワーク上の人など)とも通信できるようにしたいので、IISを許可する必要があります。 = Windowsファイアウォールを介して表現するWindowsからグラフィカルに実行するか、次のように入力します。
netsh firewall add portopening TCP 80 IISExpressWeb enable ALL
ファイアウォールルールをすでに作成していると述べているので、最後のコマンドは必要ない場合があります。
(ネットワークの外部からのアクセス)多くの住宅用ISP(および一部のビジネスISP)は、ポート80や25などの特定のサービスポートでインバウンドトラフィックをブロックします。これは、帯域幅の使用により、住宅用回線でビジネスサービスを実行できないようにするためです。別の方法は、別のポートで実行することです(以下を参照)。
(ネットワーク内部からのアクセス)あなたが説明している状況は、ヘアピンNATのように聞こえます。これは良いハイレベルなものです ヘアピンNATの概要 。 NATルールをルーターに追加して、常に外部IP宛てのトラフィックを作成するには、ポート80がネットワーク内のホストからホストに直接ではなく、ルーターを経由するようにする必要があります。警告:ルーター実際にこれを行うことができない場合があります。
IISで port binding を変更してから、Webサイトを再起動します。
同じ問題がありました。 Windowsファイアウォールがアクセスをブロックしています。オフにして、もう一度確認してください。うまくいくと思います。