2

У меня есть веб-сервер Apache (2.4.10), работающий на рабочем столе с Debian (Jessie, 8).

Рабочий стол имеет статический локальный IP-адрес (192.168.xx), и мой Интернет-провайдер (общедоступный) IP-адрес также был исправлен (82.xxx) моим интернет-провайдером. Был добавлен переадресация порта 80 на этот рабочий стол.

Я могу получить доступ к веб-странице из локальной сети без проблем, но не могу получить к ней доступ по адресу WAN, изнутри или снаружи дома: я получаю сообщение «Веб-страница недоступна - ERR_CONNECTION_REFUSED» от Chrome. Обратите внимание, что я могу открыть свой маршрутизатор, используя адрес WAN (на другом порту).

Сама веб-страница не намного больше, чем «index.html» с Hello World.

Я попытался включить брандмауэр iptables, не работает. Я попробовал другой порт, чем 80, не работал. Я позвонил провайдеру, и порт 80 не заблокирован. Я уже погуглил себя с ума. У кого-нибудь есть предложения, как сделать сайт доступным?

2 ответа2

1

Я решил это!

Благодаря Moonpoint я понял, что проблема в переадресации портов. Поэтому я еще раз посмотрел и заметил, что для правила порта 80 для "WAN Interface" было установлено "ADSL" (по умолчанию). Я не знаю, что это значит, поэтому я никогда не менял это. Я пробовал разные варианты, и установка "ETHWAN" решила проблему. Теперь я могу публично получить доступ к веб-странице и добавить DDNS без ip, который также работает.

РЕДАКТИРОВАТЬ: Теперь я узнал, что интерфейс ETHWAN WAN был просто добавлен к маршрутизатору моим провайдером и является интерфейсом для соединения стекловолокна.

0

Когда вы указали, что пытались отключить брандмауэр iptables, но не смогли, вы имеете в виду, что отключили брандмауэр iptables, но по-прежнему не могли подключиться к веб-серверу с внешнего IP-адреса, или вы не смогли отключить хост на базе брандмауэра iptables? Проверьте доступ к Apache и журналы ошибок для своего веб-сайта, чтобы увидеть, регистрируется ли любая попытка доступа к системе с внешнего IP-адреса в каком-либо из этих файлов. Проверьте ваш Apache /etc/httpd/conf/httpd.conf файл. Есть ли в нем какой-либо раздел, аналогичный следующему в любом месте файла:

<Directory /home/www/example>
      Order Deny,Allow
      Deny from all
      Allow from 192.168 127.0.0.1
 </Directory>

В приведенном выше примере доступ со всех адресов, кроме адреса локального хоста , 127.0.0.1 и систем в одной локальной сети, то есть 192.168.xxx.xxx, запрещен. Если вы хотите сделать сервер доступным для всего мира, "Запретить все" будет неуместно.

Вы можете изолировать проблему с системой Debian, на которой вы используете веб-сервер Apache или маршрутизатор, на котором вы настроили переадресацию портов, при условии, что нет никаких промежуточных частей сетевого оборудования, с помощью команды tcpdump в системе Debian Linux. Выполните команду tcpdump -i any port 80 от имени пользователя root. Это заставит tcpdump искать только соединения с портом 80 на любом интерфейсе, игнорируя другой трафик. Затем попробуйте подключиться к веб-серверу с внешнего адреса. Если tcpdump показывает трафик на порт 80, достигающий системы Linux, то переадресация портов работает правильно. Если это не так, вероятно, у вас есть проблема с переадресацией портов, поэтому дважды проверьте, что вы перенаправляете порт 80 на правильный IP-адрес для веб-сервера.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .