本地我可以通过端口9000连接到我的快递应用程序。如果我在远程服务器上启动它,我无法访问应用程序,但我在控制台日志中看到它已成功启动。
我在$my-express-app pm2 start bin/www
tcp6 0 0 :::3000 :::* LISTEN 52407/www
tcp6 0 0 :::8000 :::* LISTEN 43298/server.js
tcp6 0 0 :::9000 :::* LISTEN 52407/www
接下来如果我以$my-express-app pm2 start app.js
tcp6 0 0 :::8000 :::* LISTEN 43298/server.js
tcp6 0 0 :::9000 :::* LISTEN 53096/app.js
我的设置配置是下一个
...................
app.set('port', 9000)
...................
app.listen(app.get('port'));
我错过了什么吗?
Express版本是4.x
更新
我还试图将app绑定到任何ip app.listen(app.get('port'),'0.0.0.0')
我添加了2个输入/输出规则(之前存在udp规则)
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:9000
ACCEPT udp -- anywhere anywhere udp dpt:bootpc
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ufw status
告诉我它不活跃。
没有成功。环境ubuntu 14.04
更新
我能够在端口8000上运行app,其他js app正常运行。我找不到与此端口相关的任何设置。 9000仍然不起作用。下面是9000端口的nmap扫描
nmap -p 9000 127.0.0.1
Starting Nmap 6.40 ( http://nmap.org ) at 2017-10-04 08:52 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000070s latency).
PORT STATE SERVICE
9000/tcp open cslistener
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
nmap -p 9000 myip
Starting Nmap 6.40 ( http://nmap.org ) at 2017-10-04 08:52 UTC
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 3.05 seconds
RESOLVE
我需要在azure门户上将端点设置为端口9000。它现在有效。感谢。
答案 0 :(得分:1)
您应检查远程服务器防火墙并添加要打开的端口9000以进行通信。
答案 1 :(得分:1)
您使用的是哪种操作系统,以及为您托管此服务器的用户?例如,我知道如果您在DigitalOcean上租用Ubuntu服务器,默认情况下防火墙,ufw将阻止大多数端口(包括9000)。如果您使用的是新版本的Ubuntu,则可以使用ufw status
检查当前的防火墙规则。您可能必须使用ufw allow 9000
修改防火墙规则。