WAN =====> маршрутизатор (настройка интерфейса WAN1 с моим общедоступным IP-адресом) ==> входящее соединение NAT 443 с ====> веб-сервером Apache2
apache2 настроен с одним виртуальным хостом на порту прослушивания на mysite.com на порту 443
Эта проблема:
мой файл / etc / hosts говорит:
172.16.xxx.xxx mysite.com
поэтому я открываю браузер и после ввода https://mysite.com все идет нормально, сервер отвечает на указанном виртуальном хосте по протоколу https.
Теперь я хочу попробовать подключиться к серверу, используя свой общедоступный IP-адрес.
обновленный файл / etc / hosts теперь говорит:
xxpublicipxx mysite.com
Когда я открываю браузер, возникает ошибка тайм-аута. Брандмауэр моего маршрутизатора показывает, что принято 443 соединения
Когда я использовал частный IP-адрес в моем файле / etc / hosts, команда netstat сервера после запроса https сказала:
Proto Local Address Foreign Address State User PID/Program name</br>
tcp6 172.16.xxx.xxx:https 172.16.xxx.xxx.57154 ESTABLISHED www-data 8105/apache2
и это нормально.
Когда я обновил хосты своим публичным IP, я получил
Proto Local Address Foreign Address State User PID/Program
tcp 172.16.10.20:https xxx.xxx.xxx.xxx:53618 SYN_RECV root -
Соединения застряли в SYN_RECV, и на стороне клиента я получил ошибку тайм-аута, и, как вы не видите, PID / Program.
Любой совет?
ЗАДАЧА РЕШЕНА
Мой маршрутизатор - Zyxel ZyWALL USG 100. Для получения работающего WAN-соединения должен быть установлен Policy Route.
Используя веб-интерфейс:
Configuration -> Network -> Routing -> Policy Route -> +Add
User: any
Incoming: any (Exluding ZyWALL)
Source Address: any
Destination address: ***LAN IP OF YOUR NAT(ted) LAN SERVER
DSCP Code: any
Schedule: none
Service: HTTPS
Большое спасибо!
Похоже, это проблема маршрутизации. Клиент отправляет SYN для подключения к серверу; сервер получает его и отправляет свой ACK; но клиент никогда не получает ACK. Это подтвердит сеанс wirehark. Тот факт, что он работает с IP-адресом LAN, но не с общедоступным IP-адресом, также убедительно свидетельствует о том, что маршрутизатор виноват.
Трудно сказать наверняка, что не так в конфигурации маршрутизатора, но разумно предположить, что он отправляет ACK через интерфейс WAN, поэтому он никогда не достигает клиента. Другими словами, NAT маршрутизатора нарушен.
Можете ли вы подключиться к серверу из-за пределов локальной сети?