Пытаюсь сделать свой домашний веб-сайт на WordPress видимым в публичной сети.

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

Перед созданием этого поста я действительно провел тщательное исследование, сделал несколько шагов вперед, но теперь застрял.

  1. Настройка LAMP WordPress на Ubuntu
  2. Локальная сеть за файрволлом Humax, который содержит WAN с публичным IP-адресом, предоставленным интернет-провайдером
  3. Успел настроить проброс портов довольно неплохо для многих портов, включая SSH и другие для игр, но порт 80 абсолютно невозможно настроить по какой-то причине из-за защиты маршрутизатора или интернет-провайдера.
  4. ТАК ПОЧЕМУ мне пришлось принять порт 81 для Apache2, следуя известным процедурам обновления конфигурационных файлов для Apache2.
  5. Все работает нормально, когда я обращаюсь к mysite.com:81 из внутренней сети 192.168.0.X…. но когда я пытаюсь получить доступ с любого публичного рабочего стола или мобильного устройства, подключенного к публичной сети, он все время пытается, пока не появится ошибка без ответа.

Вот что у меня есть в /var/www/html/wp-config.php:

define(‘WP_HOME’,’http://192.168.0.19:81‘);
define(‘WP_SITEURL’,’http://192.168.0.19:81‘);

Я переключаю UFW в включенное/выключенное состояние, и это не меняется, даже несмотря на то, что UFW у меня довольно открыт на данный момент (разрешаю почти все).

Мои настройки DNS являются стандартными для установки Linux; у меня нет домена на данный момент; я нацелен на все через IP-адрес.

Последнее и важное: когда я пытаюсь получить доступ к 189.X.Y.Z:81/index.html с моего мобильного устройства в публичной сети, я получаю страницу HTML Apache2 в полном порядке.

Спасибо!

Густаво

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

Если вы хотите проверить, является ли WordPress причиной проблемы, просто укажите Apache на другую папку, содержащую базовый index.html с обычным текстом, это сработает? или тот же результат?

Если вы хотите проверить, что порт 81 открыт, используйте nmap, чтобы проверить ваш IP (с компьютера, который находится вне вашей сети) nmap ip-address-here

Я предполагаю, что вы это знаете, но все равно скажу, убедитесь, что ваш домен указывает на ваш внешний IP, а не на внутренний IP (т.е. IP, который вы получаете, если загуглите «какой у меня IP», так что ничего, начинающегося на 192.168.0.X)

В общем, уточните проблему и проверьте, действительно ли это проблема конфигурации WordPress, потому что в противном случае это может быть множество вещей. Если это не проблема WordPress, вы, вероятно, сможете лучше справиться, разместив вопрос в другой части StackExchange, например, на Server Fault

Но в принципе нет, вы ничего не упускаете, укажите домен на ваш IP, разрешите исключения в любых файрволах и настройте проброс портов, укажите Apache, на каком порту слушать, и сообщите WordPress, на каком домене/порте он находится.

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

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

Шаг 1: Проверка конфигурации Apache

Поскольку вы смогли получить доступ к странице Apache по адресу 189.X.Y.Z:81/index.html, это подразумевает, что маршрутизация и проброс портов настроены правильно. Однако для WordPress вы также должны убедиться, что Apache правильно настроен для работы на порту 81. Убедитесь, что ваш файл конфигурации Apache (обычно это /etc/apache2/ports.conf и конфигурационные файлы сайта в /etc/apache2/sites-available/) содержит соответствующие настройки:

Listen 81
<VirtualHost *:81>
    ServerName mysite.com
    DocumentRoot /var/www/html

    <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

После внесения изменений перезагрузите сервис Apache:

sudo systemctl restart apache2

Шаг 2: Настройки UFW (Uncomplicated Firewall)

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

sudo ufw allow 81/tcp
sudo ufw status

Убедитесь, что вы видите правило, которому разрешен доступ на порт 81.

Шаг 3: Конфигурация WordPress

Ваши параметры WP_HOME и WP_SITEURL в wp-config.php должны отражать использование порта 81:

define('WP_HOME','http://189.X.Y.Z:81');
define('WP_SITEURL','http://189.X.Y.Z:81');

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

Шаг 4: DNS-настройки

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

Шаг 5: Проверка соединения с использованием Nmap

Возможные проблемы с доступом также могут быть связаны с блокировкой ISP. Попробуйте запустить nmap с внешней машины, чтобы убедиться, что порт 81 доступен:

nmap -p 81 189.X.Y.Z

Если вы не видите, что порт 81 открыт, это может указывать на блокировку со стороны вашего маршрутизатора или провайдера.

Шаг 6: Убедитесь, что ваш маршрутизатор настроен правильно

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

Заключение

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

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

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