Я создал новый экземпляр процесса httpd Apache на моем сервере разработки для целей тестирования. Машина работает под управлением Centos 6.8.
Я могу подключиться к веб-серверу локально через curl, но не могу подключиться извне.
# curl 127.0.0.1:1500
{"message":"Hello World!"}
Я обновил свои iptables, чтобы разрешить новые TCP-соединения через порт 1500 - в настоящее время мои правила следующие:
# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:1500
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Я также пробовал разрешить доступ через SELinux:
# semanage port -l | grep 1500
http_port_t tcp 1500, 8080, 80, 81, 443, 488, 8008, 8009, 8443, 9000
Мы будем благодарны за любую помощь в отладке этой проблемы, поскольку я не уверен, что еще попробовать.
Отредактируйте согласно комментарию Саймона:
# netstat -nlp | grep 1500
tcp 0 0 :::1500 :::* LISTEN 23117/httpd_dev
Похоже (из комментариев), что вышестоящий брандмауэр GCP блокирует доступ.
Проверьте, слушает ли ваш httpd-сервер ваш внешний IP-адрес, например
netstat -tnlp | grep :1500
Должен дать результат вроде
tcp 0 0 :::1500 :::* LISTEN 2295/httpd
Если он прослушивает все адреса Если он прослушивает только 127.0.0.1, вы увидите что-то вроде
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2297/httpd
и вам следует соответствующим образом настроить директиву listen в конфигурации httpd.