
我目前在我的实例所属的默认安全组上有以下设置。
但是,我无法浏览该网站。 浏览器(Firefox)的响应是“Firefox无法与ec2-50-16-10-32.compute-1.amazonaws.com上的服务器build立连接”。
更新#1:从netstat -pant | grep :80没有输出 netstat -pant | grep :80
iptables -nvL输出
Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
更新#2:
ps -ef | grep nginx输出 ps -ef | grep nginx
root 1080 1 0 01:22 ? 00:00:00 nginx: master process /opt/nginx/sbin/nginx nobody 1082 1080 0 01:22 ? 00:00:00 nginx: worker process nobody 1083 1080 0 01:22 ? 00:00:01 nginx: worker process nobody 1084 1080 0 01:22 ? 00:00:01 nginx: worker process nobody 1085 1080 0 01:22 ? 00:00:01 nginx: worker process ubuntu 4001 3983 0 18:57 pts/1 00:00:00 grep --color=auto nginx root 2601 842 0 06:52 pts/0 00:00:00 grep nginx
没有输出netstat -pant | grep nginx netstat -pant | grep nginx
通常可以毫不夸张地说,“无法连接”错误 – 浏览器无法build立到远程服务器的连接。 这通常归结为以下两个原因之一:
你或者需要certificate某些事情正在发生,或者反驳所有其他的select。
防火墙:
iptables -nvL
服务器问题:
如果你有从计算机到服务器的连接(例如,可以通过SSH连接到计算机,并且没有防火墙问题) – 那么你需要检查一个正在监听传入连接并能够响应的服务器。
检查您的Web服务器是否正在运行(如果是nginx):
ps -ef | grep nginx
一旦您确定您的服务器实际上正在运行,您需要确认它正在侦听正确的端口。 虽然服务器通常会显示一个错误,如果它尝试绑定的端口正在使用,如果它只是使用一个不常见的端口(或仅适用于ipv6),则不会启动,但问题可能并不明显。 另一个常见的问题是让Web服务器仅监听回送接口,而不是所有接口或公共接口。
检查什么,如果有的话,正在监听端口80:
netstat -pant | grep:80
如果您有理由怀疑netstat(或者只是想尝试一种不同的方法),您将从以下方面获得类似的信息:
lsof -Pnl + M -i4
如果你看不到任何条目,那么在端口80上没有任何东西在监听
您还可以使用以下命令来检查Nginx是否正在侦听80以外的端口:
netstat -pant | grep nginx
如果你发现自己在nginx运行的exception场景中,而不是在任何端口上监听,那么很有可能你的configuration有问题。 特别是,Nginx只会在存在server{}块的情况下绑定侦听器 – 如果您没有server{}块,则不需要绑定侦听器。 (你也可能希望重新启动Nginx,以确保你正在使用当前configuration,并且没有其他问题)。