Я не могу получить внешний доступ к сайту WordPress моего домашнего сервера

Я не могу получить внешний доступ к сайту WordPress моего домашнего сервера

В принципе, я могу получить доступ ко всему, используя 127.0.0.1, но если я использую свой внешний IP (123.123.123.123), я получаю сообщение «страница не найдена».

Мой маршрутизатор перенаправляет порт HTTP 80 на порт 8080 на внутреннем IP-адресе моего сервера. Другими словами: (Приложение: HTTP | Начало: 80 | Конец: 8080 | Протокол: Оба | IP-адрес 192.168.0.101 | Включить [ДА]) Я знаю, что переадресация работает правильно, потому что когда я останавливаю переадресацию портов, я могу получить доступ к странице маршрутизатора, используя свой внешний IP.

Мой файл виртуальных хостов:

NameVirtualHost *:80
    <VirtualHost *:80>
    DocumentRoot /opt/lampstack-5.3.16-0/apps/wordpress
    ServerName example.com
    ServerAlias www.example.com
</VirtualHost>

и мой файл httpd.conf выглядит так:

Listen 80
Servername localhost:80
DocumentRoot "/opt/lampstack-5.3.16-0/apache2/htdocs
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny, allow
    deny from all
</Directory>
<Directory "/opt/lampstack-5.3.16-0/apache2/htdocs">
    Options FollowSymLinks
    AllowOverride None
    Order allow, deny
    allow from all
</Directory>

решение1

Вы используете виртуальный хостинг на основе имени. Если вы попытаетесь получить доступ к своему веб-сайту, используя другое имя, вы получите сайт по умолчанию.

NameVirtualHost *:80

Servername localhost:80

решение2

Я думаю, что проблема возникает из-за указания DocumentRoot, на который наложены запреты, но вы должны получать ошибки 403 Forbidden Errors, а не 404 Not Found (по крайней мере, я получаю их, когда пытаюсь имитировать вашу конфигурацию).

DocumentRoot /opt/lampstack-5.3.16-0/apps/wordpress

поскольку в этом каталоге нет <Directory >записи, он наследует разрешения по умолчанию

<Directory />
  Options FollowSymLinks
  AllowOverride None
  Order deny, allow
  deny from all
</Directory>

попробуйте закомментировать строки deny

  #Order deny, allow
  #deny from all

или создав новую запись, чтобы проверить наличие этой проблемы

<Directory "/opt/lampstack-5.3.16-0/apps/wordpress">
  Options FollowSymLinks
  AllowOverride None
  Order allow, deny
  allow from all
</Directory>

Примечание:Сейчас вам следует попытаться получить доступ к серверу по IP-адресу. www.example.com никуда вас не приведет, поскольку для него нет записи DNS (или, если она есть, она не указывает на ваш сервер).

решение3

Похоже, проблема была в маршрутизаторе. Хотя я пытался перезапустить маршрутизатор, хотя я пробовал все с включенным и выключенным перенаправлением nat. Я просто сидел, и мой маршрутизатор сам себя перезагрузил. Мне пришлось ввести пароль по умолчанию, чтобы попасть на страницу администратора маршрутизатора (вместо пароля, который я установил). После этого все заработало нормально.

Также попробуйте не указывать ничего в файле vhosts, это тоже может сработать.

Мораль истории: на всякий случай попробуйте другой маршрутизатор.

Связанный контент