Сайт Nginx не может быть доступен через URL домена - PullRequest
0 голосов
/ 03 ноября 2018

Проблема:

Я установил (Docker) сайт Django-Gunicorn-Nginx в моей домашней сети. Он работает в локальной сети, но я не могу получить к нему доступ через свой домен.

Настройка:

  • Зарегистрирован домен в namecheap.com.
  • Настройка динамического DNS для обновления моего публичного IP-адреса с помощью домена namecheap.
  • Настройте веб-сайт на компьютере в моей домашней сети и присвойте ему статический IP-адрес.
  • Включить переадресацию портов с общедоступного 80 на LAN 80.

Тесты:

  • Я включил переадресацию портов на порт 22 и смог подключиться через SSH к компьютеру, обслуживающему веб-сайт с ssh user@domain, и он работал нормально -> domain/ddns ok.

  • Я получил доступ к веб-сайту с другого компьютера, подключенного к той же локальной сети, используя полный статический IP-адрес компьютера, обслуживающего веб-сайт, и он работал хорошо -> website/server ok.

  • Я позвонил своему провайдеру, чтобы проверить, все ли настроено правильно, и разрешено ли мне обслуживать веб-сайт из моей сети, и, по-видимому, проблем нет -> router/network ok.

Подсказка:

Когда я пытаюсь получить доступ к сайту из-за пределов моей домашней сети, через домен или мой полный публичный IP-адрес, я получаю ERR_EMPTY_RESPONSE.

Когда я пытаюсь получить доступ к сайту из моей домашней сети, через домен или с полным публичным IP-адресом (а не через IP-адрес локальной сети, который действительно работает), я перенаправляюсь на страницу 192.168.0.1/intercept.html, которая содержит сообщение от моего интернет-провайдера о том, что у меня нет подключения к Интернету (которое у меня есть):

enter image description here

Итак, на данный момент я немного растерялся. Я хотел бы получить идеи о том, как лучше всего решить эту ситуацию.

1 Ответ

0 голосов
/ 03 ноября 2018

Как подсказал @ ben5556, я попробовал порт 8000, и он работал :) Так что мой провайдер, вероятно, блокирует порт 80.

Сначала я попробовал порт 8080, но, включив переадресацию портов на странице конфигурации маршрутизатора, он показал предупреждение о том, что этот порт зарезервирован для других устройств, поэтому я попытался использовать порт 8000.

Это раздражает, так как я позвонил своему провайдеру, и они сказали, что не должно быть никаких проблем при использовании порта 80. Более того, при включении переадресации портов на порт 80 вообще нет никаких предупреждений.

UPDATE

Обслуживание сети на общедоступном порте 8000 не имеет смысла, поскольку браузеры по умолчанию используют порт 80, поэтому окончательное решение состояло в том, чтобы включить переадресацию портов с общедоступного 80 на ЛВС 8000. Видимо, блокируется только порт 80 ЛВС, поэтому это решение работает хорошо.

...