我已经在 Ubuntu AWS (EC2) 节点上安装了 nginx,并确认它正在通过 运行ps -aef | grep nginx
。在本server
节中,我有:
server {
listen 8080;
server_name ec2-<blah>.us-west-2.compute.amazonaws.com;
location / {
root /opt/derp;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
...ec2-<blah>.us-west-2.compute.amazonaws.com
我的 EC2 实例的公共 DNS 在哪里。
当我重新加载(sudo nginx -s reload
)并转到时http://ec2-<blah>.us-west-2.compute.amazonaws.com:8080
,我希望获得默认的 nginx”欢迎!”页面,但我得到的却是 HTTP 失败(在 Chrome 中net::ERR_CONNECTION_TIMED_OUT
,这是我获得的最多信息)。
对我来说,这可能是因为:
- 也许我访问了错误的 URL(我的用户错误)
- 也许我需要在 AWS 中设置一些网络配置(防火墙规则等)
- 可能是 nginx 配置问题
- 可能是 Linux 用户/权限问题
我来这里是为了排除(或确认)一个 nginx 问题。有人能发现我的 nginxserver
配置有什么问题吗?我很乐意发布我的其他部分nginx.conf
或提供任何其他必要的详细信息,以审查 nginx 是否是潜在的问题儿童。
答案1
为允许入站 tcp 8080 的实例配置一个安全组。还要确保实例上的本地防火墙(iptables、ufw、firewalld 或类似防火墙)不会阻止流量。