Так что, хотя это и не идеально, у меня в настоящее время есть веб-сервер под управлением Ubuntu 14.04 за маршрутизатором Linksys. На маршрутизаторе я перенаправил порты 22, 80 и 435 для SSH, HTTP и HTTPS соответственно.
Теперь, запустив очень простой обратный прокси-сервер nginx для маршрутизации порта 80 на очень простой скрипт узла, прослушивающий локальный порт 3001, я могу открыть веб-браузер из любой точки моей локальной сети и получить доступ к общедоступному IP-адресу сервера на порт 80 и получите правильный ответ.
Как только я пытаюсь подключиться к тому же общедоступному IP-адресу на сигнале моего iPhone (самый простой способ для меня использовать внешний IP-адрес), я получаю сообщение об ошибке, говорящее, что «сетевое соединение было потеряно». Я пытался отключить UFW, но это мой текущий статус UFW:
To Action From
-- ------ ----
22 ALLOW Anywhere
80/tcp ALLOW Anywhere
80 ALLOW Anywhere
Nginx Full ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
Я только недавно включил профиль Nginx Full
в надежде, что он может помочь, но это не так.
Запуск tcpdump -i em1 port 80 -s 0 -w capture.cap
, попытка подключения на моем iphone, а затем запуск tcpick -C -yP -r capture.cap
дает следующие результаты:
Timeout for connections is 600
tcpick: reading from capture.cap
1 SYN-SENT IPHONE_IP:12649 > LOCAL_IP:http
1 SYN-RECEIVED IPHONE_IP:12649 > LOCAL_IP:http
2 SYN-SENT IPHONE_IP:12649 > LOCAL_IP:http
3 SYN-SENT IPHONE_IP:12649 > LOCAL_IP:http
4 SYN-SENT IPHONE_IP:21998 > LOCAL_IP:http
4 SYN-RECEIVED IPHONE_IP:21998 > LOCAL_IP:http
5 SYN-SENT IPHONE_IP:21998 > LOCAL_IP:http
6 SYN-SENT IPHONE_IP:21998 > LOCAL_IP:http
7 SYN-SENT IPHONE_IP:9256 > LOCAL_IP:http
7 SYN-RECEIVED IPHONE_IP:9256 > LOCAL_IP:http
8 SYN-SENT IPHONE_IP:9256 > LOCAL_IP:http
9 SYN-SENT IPHONE_IP:9256 > LOCAL_IP:http
tcpick: done reading from capture.cap
, и вот моя очень простая конфигурация nginx:
server {
listen 80;
server_name mgmcdermott.com;
location / {
proxy_pass http://127.0.0.1:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_read_timeout 180s;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Моя догадка говорит мне, что, поскольку я могу получить доступ к веб-сайту локально, то это должен быть мой маршрутизатор, блокирующий внешние запросы, однако я могу удаленно подключиться к SSH через маршрутизатор и безуспешно пытался отключить все брандмауэры.
У меня есть знания в области программирования и базовые знания по настройке на стороне сервера, однако я новичок в новой установке с Ubuntu и nginx за маршрутизатором.
Я готов полностью стереть Ubuntu и переустановить заново, если необходимо
В заключение я упомяну, что я немного неопытен, когда дело доходит до публикации вопросов StackExchange. Я прочитал тысячу из них, но редко что-либо размещал, чтобы публиковать сообщения, которых здесь еще нет, поэтому, пожалуйста, держитесь за меня, если я что-то пропустил.
Спасибо!
Редактировать:
Используя команду traceroute, она показывает сетевое время ожидания с! X, означающим «связь административно запрещена»:
1-4. Pings across work network
5. * * *
6. * * *
7. * * *
...
19. * * * LAST_PINGED_IP_AT_STEP_4 1.491 ms !X
...
Я вижу, что! X появляется, что означает связь, административно запрещенную , не уверен, поможет ли это.
Еще больше информации ...
$ sudo netstat -tclp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 localhost:mysql *:* LISTEN 1339/mysqld
tcp 0 0 *:http *:* LISTEN 1301/nginx
tcp 0 0 *:ssh *:* LISTEN 1262/sshd
tcp6 0 0 [::]:ssh [::]:* LISTEN 1262/sshd
tcp6 0 0 [::]:3001 [::]:* LISTEN 1395/node
Еще после некоторой отладки я нашел, что запрос для портирования 80 держался:
ool-4353e70a.dyn.optonline.net (67.83.231.10)
Этот IP решает к моему ISP. Оказывается Оптимальным портом блоков 80, если Вы не обновляете свой сервис. *закройте лицо рукой*
Из документов . Активация Порта 80 в настоящее время доступна с Оптимальными Крайними 50 Онлайн, Оптимальными Крайними 75 Онлайн или Оптимальными Крайними 101 Онлайн.