アカウントを作成しましたノーイップ動的ホストを作成しました。(test.ddns.net) IPアドレスを持つローカルマシンで192.168.2.128私はポートでApacheウェブサーバーを実行しています8080そして443。
私は「test」という名前のプロジェクトを作成しました。このプロジェクトには「test.html」というファイルが含まれており、そこには単に「hello world」が出力されています。
私のルーター(テレコムのスピードポートW921V)に、ポート80で受信したすべてのものをIPアドレスを持つローカルマシンのポート8080に転送するポート転送ルールを追加しました。192.168.2.128。
編集: また、ポート8080に着信するすべてのものをIPアドレスを持つローカルマシンのポート8080に転送しようとしました。192.168.2.196
ローカル マシン上のプロジェクトにアクセスしたい場合は、
192.168.2.128:8080/test/test.html
ブラウザーで開くだけです。しかし、このサイトに外部からアクセスするにはどうすればよいでしょうか?
このように試してみましたtest.ddns.net/test/test.html
が、「Web サイトにアクセスできません」というメッセージが表示されます。
私もこのプログラムを実行していますDUC v4.1.1
。
なぜ機能しないのでしょうか? スピードポートでポート転送が機能していないのでしょうか、それとも他の手順を忘れているのでしょうか?
注記: 実際のドメイン名は「test.ddns.net」ではありません。匿名性を保つために検閲しました。
編集: 私は今、非常に混乱しています。私の実際のドメイン名は、すでに述べたとおりではなくtest.ddns.net
、まったく別のものです。しかし、Web サーバーが稼働しているローカル マシンから開くとtest.ddns.net:8080/test/test.html
、Web サイトがhello world
開きます。どうしてこんなことが可能なのでしょうか?
答え1
nslookup test.ddns.net
は で応答します127.0.0.1
。これは ですlocalhost
。したがって、パケットはホーム ネットワーク経由で送信されているわけではなく、作業しているコンピューターの内部でのみ送信されていることになります。
私はこのようにして test.ddns.net/test/test.html を試しましたが、「Web サイトにアクセスできません」というメッセージが表示されます。これは、サーバーをポート 80 ではなくポート 443 と 8080 で実行しているためです。
実際のパブリックIPv4アドレスを持っていることを確認してください。IPv6を使用している場合、IPv4サーバーにアクセスするときにキャリアグレードNATこれにより、IPv4 サーバーにアクセスできますが、IPv4 クライアントが IPv4 サーバーにアクセスすることはできません。これは、ポート転送を行うように構成できない NAT の背後にあるため、実際にはパブリック IPv4 サーバーがないためである。NAT ゲートウェイとルーター間のデータ転送は IPv6 経由で行われ、ルーターにはパブリック IPv6 アドレスのみが関連付けられる。これは Dual-Stack Lite と呼ばれます。
Googleで「My IP」を検索すると、GoogleがあなたのパブリックIPを表示します。http://<IPアドレス> ページを開きます。ページが開いた場合、ルーターの外部 IP は実際にはパブリック IP アドレスであり、ポート転送は正常です。つまり、問題は no-ip.com にあるということです。
答え2
これには ngrok のようなものを使用できます。これをインストールして実行します:
ngrok http 8080
また、サーバーにアクセスするために使用できる固有のサブドメインが提供されます。ポート転送などは必要ありません。