我正在尝试使用nginx来设置一个简单的node.js服务器,我在后台的4000端口上运行服务器,我的nginx配置文件是
server {
listen 80;
listen [::]:80;
server_name 52.53.196.173;
location / {
include /etc/nginx/proxy_params;
proxy_pass http://127.0.0.1:4000;
}
}我将其保存在/etc/ nginx /sites-available中,并将其符号链接到启用了站点的站点,nginx.conf文件已经包含了include行,以便从启用站点的站点加载文件,然后我使用sudo service nginx重新启动了服务我尝试转到52.53.196.173,它拒绝连接,但是转到52.53.196.173:4000,端口4000它是有效的,但我试图使它侦听端口80与nginx,我尝试将我的.ml域名为server_name,但没有运气,我在域名服务器设置中有IP地址52.53.196.173作为A记录,我在亚马逊网络服务EC2实例Ubuntu Server16.04上做了这件事,我甚至尝试了完整的ec2公共域名地址,但没有成功,你有什么想法吗?
编辑:我通过直接将文件移动到启用站点而不是符号链接的方式解决了它
发布于 2018-09-27 23:47:50
可能发生的事情很少。首先,您需要验证nginx服务器是否正在端口80上运行和侦听。您可以使用以下命令检查监听端口。
netstat -tunlp然后,您需要检查您的服务器防火墙&还有selinux策略。(或禁用selinux以进行测试)
然后,您需要验证配置为访问端口80上的http/https连接的AWS安全组。
PS :以下命令和配置的输出将有助于故障排除。
netstat -tunlp
sestatus
iptables -L
* AWS Security Group Rules
* Nginx configurations ( including main configuration if changed )附注: OP通过将配置文件直接移动到站点启用的目录修复了该问题。也许,如果你有同样的问题,可以查看评论以获得更多信息。
发布于 2018-09-27 23:41:37
很可能端口80在您的安全组中没有打开,或者nginx没有运行来接受连接。请张贴nginx状态并查看安全组
发布于 2021-06-23 13:59:35
检查以下内容:
对于80:

对于443:

入站角色:

出站角色:

https://stackoverflow.com/questions/52540582
复制相似问题