【发布时间】:2019-05-21 11:48:51
【问题描述】:
我正在尝试在我的 VPS 上的 3000 端口上运行第二个 Web 服务。
在我运行的 VPS 上:
# php -S myhost.com:3000
然后在浏览器中导航到http://myhost.com:3000,但浏览器超时并且服务不记录/输出任何内容。
如果我在端口 80 上运行服务(即 php -S myhost.com:80 并导航到 http://myhost.com),它就可以工作。
所以防火墙。除了:
[root@spinal ~]# firewall-cmd --list-ports
3887/tcp 3000/tcp
(3887 是另一个服务,正在正常工作。)我在防火墙中设置了端口 3000 后重新启动了 VPS。我认为该服务正在正确监听,因为:
[root@spinal ~]# netstat -tupl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:imap 0.0.0.0:* LISTEN 1907/dovecot
tcp 0 0 0.0.0.0:ciphire-data 0.0.0.0:* LISTEN 1876/sshd
tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN 1903/nginx: master
tcp 0 0 0.0.0.0:urd 0.0.0.0:* LISTEN 2004/master
tcp 0 0 myhost.com:hbci 0.0.0.0:* LISTEN 2206/php
tcp 0 0 localhost.loca:postgres 0.0.0.0:* LISTEN 1908/postgres
tcp 0 0 0.0.0.0:smtp 0.0.0.0:* LISTEN 2004/master
tcp 0 0 0.0.0.0:https 0.0.0.0:* LISTEN 1903/nginx: master
tcp 0 0 0.0.0.0:imaps 0.0.0.0:* LISTEN 1907/dovecot
tcp 0 0 localhost.lo:cslistener 0.0.0.0:* LISTEN 1878/php-fpm: maste
tcp6 0 0 [::]:imap [::]:* LISTEN 1907/dovecot
tcp6 0 0 [::]:ciphire-data [::]:* LISTEN 1876/sshd
tcp6 0 0 [::]:urd [::]:* LISTEN 2004/master
tcp6 0 0 [::]:smtp [::]:* LISTEN 2004/master
tcp6 0 0 [::]:imaps [::]:* LISTEN 1907/dovecot
但是我可以在本地连接。这在 VPS 上运行时有效:
$ curl http://myhost.com:3000
这样再次指向防火墙。但是禁用防火墙并没有帮助:
# systemctl stop firewalld
所以它可能是一个 DNS 问题:我的浏览器和 VPS 在 myhost.com 解析的内容上有所不同。除此之外,如上所述,切换到端口 80 可以解决问题。所以这与从外部进入端口 3000 有关。但不是防火墙。
Can't reach nodejs on port 3000 from external on CentOS 7 的问题与我的问题很接近,但没有最终答案。
【问题讨论】:
标签: dns routing port centos7 firewall