2009-03-07 2 views
3

IIS上に自宅でホストされているASP.NET Webサイトがあります。私のホームネットワークの外では私はウェブサイトを見ることができますが、ネットワーク内で404エラーが出ます。私はlocalhostとしてサイトを閲覧することができます。 DNSの問題のように思えますが、それを修正する方法がわかりません。ローカルマシンで自宅でホストされているWebサイトを参照できません

+0

何らかのNATデバイスの背後にいますか? –

+0

私は自宅で標準のDSLモデムを使ってインターネットに接続しています。 – fARcRY

答えて

6

これはほぼ確実にNATの問題です。私は、あなたのWebサーバーがNATルーターの背後にあると仮定し、ルーターの外部インターフェイスからサーバーマシンのポート80にポート(おそらく80)を転送しました。また、外部IP(おそらくダイナミックDNS名)に解決する名前を使用するか、その外部IPを使用して直接アクセスしようとしているかのいずれかであなたのWebサイトにアクセスしようとしていると仮定します。ほとんどのNATルータは、ルータの外部インターフェイスに入ってくるパケットに対してのみ、ポートマッピングを利用可能にするため、これはおそらく機能しません。

以上が成立した場合、そこに四つの可能なソリューションです:お使いのルータの設定で

  1. ルックはと「NATループバック」、「EXT-INTループバック」などと同種のものを探してみてください。そうすれば、内部インターフェイスから入ってくるパケットをルータが処理し、外部インターフェイスから入ってきたパケットを処理するのと同じように外部IP宛てのパケットを処理し、トラフィックを効果的に正しく戻すことができます。それはポートフォワーディングを引き起こし、サイトは機能します。すべてのルータがこのオプションを持っているわけではありませんが、もしあなたがそうであれば、これは最も堅牢なソリューションになります。もしあなたがそうでなければ、ルータ(Tomato、OpenWRT、DD-WRTなど)をサポートしている無料のものにファームウェアを変更してみることもできます。私はTomatoをこのようなシナリオでうまく使用しました。

  2. ルーターの後ろにいる場合は内部IPを使用し、外部の場合は外部IPを使用してください。

  3. 自分のホストファイルに使用しているDNS名を追加し、内部IPに対応させます。これにより、自分のホストから名前にアクセスするときに自動的に(3)が達成されます。ルータの後ろにあるすべての単一ホストでこれを繰り返す必要があります。

  4. ルータの背後にある独自のDNSサーバを実行し、DNSレコードに対する権限を主張して内部IPに解決し、他のDNSクエリを実際のネームサーバに転送します。

3

おそらくドメインを指している外部から見えるIPアドレスは、実際にはルータまたはケーブルモデムのIPアドレスです。外部接続はIISが稼働しているマシンにルーティングされますが、ネットワークの内部から接続するときは、管理インターフェイスを使用してルータのWebサーバを取得します。あなたがリクエストしたURLと一致するページはありませんので、404が表示されます。

ホームマシンのhostsファイルにエントリを追加してドメインを内部にマップすることで問題を解決できるはずですDNSエントリ内の外部IPを上書きして、IISを使用しているマシンのIPをオンにします。

関連する問題