我可以通过 SSH 进入服务器,但是 HTTP 根本不起作用?

我可以通过 SSH 进入服务器,但是 HTTP 根本不起作用?

我设立nginx几个月来一切都很顺利,直到今天我注意到我无法连接到我的网站。 我可以 :

  • 通过 SSH 连接到我的服务器
  • 服务nginx状态确认Running
  • 域名正确指向IP。

我不知道如何进一步诊断这个问题,如能得到任何帮助我将非常感谢!

编辑:

谢谢大家的建议!我仍然不清楚这个问题是如何发生的,但我能够使用防火墙命令解决它。具体来说,通过添加 http 和 https 服务:

firewall-cmd --add-service=http --permanent 
firewall-cmd --add-service=https --permanent

答案1

为了缩小范围...

  1. 确认 Nginx 确实正在运行。查看进程列表ps -ax | grep nginx
  2. 确认 Nginx 确实正在监听您期望的端口(80?)。 https://unix.stackexchange.com/q/106561/5313
  3. 确保您可以从主机本身访问 Nginx。也就是说,curl -v http://localhost如果 Nginx 配置为侦听任何地址,则使用 SSH 进入。然后,再次从主机本身验证 Nginx 应该侦听的公共 IP curl -v http://[your address here]
  4. 检查是否可以通过 IP 地址直接在外部访问 Nginx。很可能这就是故障所在。
  5. 验证您的防火墙(无论您使用什么软件、硬件或组合防火墙)是否允许访问 Nginx。
  6. 验证指向您的服务器的 DNS 条目是否正确解析。

相关内容