ドメイン名はローカルネットワーク上では使用できませんが、外部では使用できます。

ドメイン名はローカルネットワーク上では使用できませんが、外部では使用できます。

ローカル ネットワークには、Web アプリケーションをホストする がありますUbuntu Server 20.4。ルーターとドメインの DNS を構成し、証明書をインストールして、 Web アプリケーションを表示できるようLets'Encryptになりました。https://mydomain.com

私の問題は、ローカル ネットワーク内からドメインを表示しようとするとhttps://mydomain.com、ブラウザーが「このサイトにアクセスできません」と応答しますが、外部に接続するとサイトが表示されます。

Ubuntu Server に新しい設定を適用する必要がありますか、それともこれはルーターの設定の問題ですか?

解決策は1つ...

hostsPC内のファイル(C:\Windows\System32\Drivers\etc\hosts)を編集してレコードを追加しました

192.168.0.100 マイドメイン

サイトは表示されるようになりましたが、Ubuntu サーバーに設定を適用する方法を知りたいです。

編集1nslookup mydomain.comWindows のコマンド ラインから 実行すると、次のようになります。

Server:  one.one.one.one
Address:  1.1.1.1

Non-authoritative answer:
Name:    mydomain.con
Address:  My_External_IP

両方ともUbuntu Server私の PC と同じサブネット上にあります。サーバーを公開するために、ルーターにいくつかのポート転送 (80、443) を追加しました。

答え1

問題は、Windowsマシン(およびネットワーク上の他のマシン)がドメイン名を解決して、パブリックIPアドレスこれは 192.168.0.100 とは異なります...したがって、ルーティングが異なります。192.168.0.100 にアクセスしようとすると、トラフィックは LAN 内に留まります。パブリック IP アドレスを使用すると、トラフィックはインターネットを通過し、ルーターを経由して戻ってきます。

したがって、実際には、ルーターでポート転送を設定して、ポート 80 および 443 への着信要求がサーバーのローカル アドレス (この例では 192.168.0.100) に転送されるようにする必要があります。

LAN 内に独自の DNS リゾルバがある場合は、そのドメイン (「ゾーン」) をローカルで構成するだけで、ローカル ユーザーに対してのみプライベート IP アドレスを返すことができます。split-horizo​​n DNS を参照してください。

管理するクライアントがそれほど多くない場合は、テストや短期的な使用ではホスト ファイルの編集が許容される可能性があります。それ以外の場合は、LAN にローカル DNS リゾルバ (およびフォワーダ) を設定することをお勧めします。例: dnsmasq。

関連情報