Могу попасть на мой вебсайт, когда ввожу мой публичный IP, но не когда ввожу мой домен [закрыто].

Вопрос или проблема

Прежде всего, это статический веб-сайт. Оба порта, 80 и 443, направлены на сервер от моего роутера. У меня динамический IP, DDNS и используется предоставленный домен DDNS.

ОС: Ubuntu 24.04.1 LTS x86_64

Версия сервера: Apache/2.4.58 (Ubuntu)

  1. Я могу войти на мой сайт с устройства, находящегося в той же сети, по локальному IP.
  2. Я могу войти на мой сайт с устройства в другой сети, используя мой публичный IP.
  3. nslookup mydomain.ddns.net возвращает правильный IP даже на устройстве, находящемся в другой сети (мой текущий публичный IP).
  4. У меня настроен DDNS, и он показывает правильный IP в своей панели управления (мой текущий публичный IP).
  5. Я уверен в своём текущем публичном IP, потому что я могу подключиться к моему сайту, когда вхожу на него, и это то, что сообщает whatismyipaddress.com.

Я думаю, мне нужно настроить мой сервер apache2 и сообщить ему принимать запросы на mydomain.ddns.net, но я не нашел, как это сделать с актуальной файловой структурой apache2. То, что я пробовал, это добавить:

ServerName mydomain.ddns.net
ServerAlias www.mydomain.ddns.net

в /sites-available/default-ssl.conf и /sites-available/000-default.conf и /sites-enabled/000-default.conf

Я разместил это в <VirtualHost *:443> и <VirtualHost *:80>

Что мне делать?

Редактировать, сообщение об ошибке:

Соединение было прервано
Сервер на mydomain.ddns.net слишком долго отвечает.

Кто-то другой сказал, что это выдавало ошибку connection reset by peer. Я не знаю, какую команду он пробовал или это было сообщено браузером. Он также подтвердил, что nslookup выдал мой IP и что он мог достичь моего сайта, вбивая мой публичный IP.

Редактировать2: Я объясняю то же самое на языке Linux (это было сделано на устройстве вне моей сети)

$ curl mydomain.ddns.net

curl: (56) Recv failure: Connection reset by peer

$ nslookup mydomain.ddns.net

Server: 8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
Name: mydomain.ddns.net
Address: x.x.x.167

$ curl x.x.x.167

<!DOCTYPE html>
<html lang=”en”>
<body>
<p>Это не то, что он вернул, но вы поняли. Он вернул правильную веб-страницу.</p>
</body>
</html>

.

Ответ или решение

Ваш вопрос касается проблемы с доступом к вашему веб-сайту через доменное имя, при том, что доступ по публичному IP адресу осуществляется без проблем. Попробуем разобраться в возможных причинах и решениях этой проблемы.

Теория (Theory):

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

Основной проблемой здесь, вероятно, является конфигурация веб-сервера Apache и/или неправильная обработка доменных имен в сети. Это может быть вызвано рядом причин:

  1. Проблемы с VirtualHost в Apache: Если VirtualHost настроен неправильно, Apache может не знать, как обрабатывать запросы, поступающие на ваше доменное имя.

  2. Проблемы с DDNS: Хотя DDNS правильно обновляет ваш публичный IP, возможно, есть задержка или неправильно настроенная зона в DDNS-сервисе.

  3. Файрвол или настройки маршрутизатора: Важно убедиться, что ваш маршрутизатор не блокирует запросы, поступающие на ваше доменное имя.

  4. Проблемы в сети: Провайдер интернет-услуг или сетевые настройки могут влиять на доступность вашего домена.

Пример (Example):

Допустим, у вас есть сервер на Ubuntu, на котором работает Apache, и вы хотите сделать его доступным через доменное имя. Вы настроили DDNS для управления динамическим IP, и у вас есть маршрутизатор, который перенаправляет запросы на порты 80 и 443 на ваш сервер. Однако при попытке доступа по доменному имени происходит тайм-аут соединения.

Вот типичные шаги, которые вы могли бы предпринять для устранения проблемы:

  1. Проверка конфигурации Apache: Убедитесь, что в файле конфигурации вашего веб-сервера Apache правильно настроены блоки VirtualHost.

    <VirtualHost *:80>
        ServerName mydomain.ddns.net
        ServerAlias www.mydomain.ddns.net
        DocumentRoot /var/www/html
    </VirtualHost>
  2. Проверка DNS-записей: Используйте nslookup или dig для проверки того, что ваш домен действительно разрешается в правильный IP. Например:

    nslookup mydomain.ddns.net

    Даная команда должна возвращать ваш текущий публичный IP.

  3. Файрвол и маршрутизатор: Убедитесь, что ваш маршрутизатор и, если есть, внутренний файрвол вашего сервера не блокируют запросы на ваш домен.

  4. Журналы сервера: Проверьте журналы Apache для поиска сообщений об ошибках, связанных с доменом.

Применение (Application):

Исходя из изложенного, рекомендуется тщательно проверить и настроить ваш веб-сервер Apache. Вот более подробные шаги:

  1. Редакция VirtualHost: В файлах конфигурации sites-available/000-default.conf и sites-available/default-ssl.conf убедитесь, что вы добавили директивы ServerName и ServerAlias, как указано выше. Это нужно сделать для обоих VirtualHost блоков для HTTP и HTTPS.

  2. Перезагрузка Apache: После внесения изменений в конфигурацию не забудьте перезагрузить Apache.

    sudo systemctl restart apache2
  3. Проверка пропускных способностей маршрутизатора: Проверьте правила маршрутизатора на стороне входящих запросов для портов 80 и 443. Почти все современные маршрутизаторы поддерживают DDNS, что позволяет автоматически обновлять IP-адрес. Убедитесь, что у вас отключены ограничения и правила, которые могут блокировать трафик.

  4. Проверка соединения из разных сетей: Ваш публичный IP должен быть доступен из любых внешних сетей, но бывает полезно проверить это при помощи мобильного интернета или другой сети, чтобы исключить проблемы со стороны вашего провайдера.

Следуя этим методам, вы должны устранить проблемы с доступом к вашему веб-сайту через доменное имя. Если проблема сохраняется, рассмотрите возможность настройки дополнительной диагностики (например, трассировки маршрута) или обратитесь за помощью к вашему провайдеру или в службу поддержки DDNS.

Оцените материал
Добавить комментарий

Капча загружается...