在CentOS服务器上装好了nginx,直接通过公网ip可以正常显示nginx 的 index.html页面。
同时我在3000端口跑了node应用,现在我想通过 公网ip:8089的形式访问
nginx的配置代码:
server {
listen 8089;
server_name 公网ip;
location / {
root /usr/web;
proxy_pass http://127.0.0.1:3000;
index index.html;
}
}
奇怪的是当监听端口是80的时候就没有问题,其他端口都不行。
防火墙也开放了8089端口,关掉也不行:
[root@VM_102_32_centos conf]# service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:8089
请问下大家是哪里的问题呢?不胜感激 (●゚ω゚●)
2017.1.16 更新:
问题解决了,是腾讯云服务器安全组没有开放8080端口,在腾云讯后台添加配置就可以了
“2017.1.6更新开始"
请问你是想通过nginx反向代理node的服务吗?
如果是,请将root信息删除:
“2017.1.6更新结束"
首先,你nginx的配置是没问题的,但可以修改成以下格式:
然后请通过以下命令确认你的nginx正处于运行状态:
还可以通过以下命令确认你的nginx正监听着正确的端口:
如果nginx确认是运行正常,那么请通过以下命令确认iptables是处于放行状态:
要注意的是,iptables在默认状态下的FORWARD链中含有一条REJECT规则:
你可以通过以下命令将其删除:
在这里要注意的是,你的iptables中INPUT链的默认规则是ACCEPT,并不需要手动添加放行规则。
如果nginx还不能访问,请检查proxy_pass的服务器是否运行正常。