
В нашей локальной сети есть Ubuntu Server 20.4
, где размещено веб-приложение. Я настроил свой маршрутизатор и DNS домена, установил Lets'Encrypt
сертификат и мне удалось https://mydomain.com
показать свое веб-приложение.
Проблема в том, что когда я пытаюсь увидеть домен https://mydomain.com
изнутри локальной сети, браузер отвечает: «Этот сайт недоступен, но когда я подключаюсь извне, сайт виден».
Мне нужно применить новые настройки на сервере Ubuntu или это проблема конфигурации маршрутизатора?
Одно решение...
Я отредактировал hosts
файл на своем ПК (C:\Windows\System32\Drivers\etc\hosts), добавив запись
192.168.0.100 мойдомен.com
и сайт теперь виден, но я хотел бы знать, как применить настройку к серверу Ubuntu.
Редактировать 1
Если я запускаю nslookup mydomain.com
из командной строки Windows, я получаю:
Server: one.one.one.one
Address: 1.1.1.1
Non-authoritative answer:
Name: mydomain.con
Address: My_External_IP
Оба Ubuntu Server
и мой ПК находятся в одной подсети. Я добавил несколько переадресаций портов (80, 443) на маршрутизаторе, чтобы сделать сервер общедоступным.
решение1
Ну, «проблема» в том, что ваш компьютер с Windows (и другие компьютеры в вашей сети) разрешает доменное имя впубличный IP-адрес, который отличается от 192.168.0.100... Таким образом, маршрутизация отличается. Когда вы пытаетесь получить доступ к 192.168.0.100, трафик остается внутри вашей локальной сети. Если вы используете публичный IP-адрес, то ваш трафик будет проходить через Интернет и возвращаться к вам через маршрутизатор.
Поэтому вам действительно следует настроить переадресацию портов на вашем маршрутизаторе, чтобы входящие запросы на порты 80 и 443 перенаправлялись на локальный адрес сервера, то есть 192.168.0.100 в вашем примере.
Если у вас есть собственный DNS-резолвер в вашей локальной сети, то вы можете просто настроить этот домен («зону») локально, чтобы вместо этого возвращать частный IP-адрес, только для локальных пользователей. См. DNS с разделением горизонтов.
Редактирование файла hosts может быть приемлемым для тестирования, краткосрочного использования, если у вас не так много клиентов для обслуживания. В противном случае я бы посоветовал настроить локальный DNS-резолвер (и пересылатель) для вашей локальной сети. Пример: dnsmasq.