Racknerd VPS 外网无法访问 Nginx 的解决方案
March 13th, 2025

选择了在 Racknerd 上购买一台海外 VPS,系统版本为 CentOS 7,但在安装 Nginx 后,外网无法正常访问。经过分析,发现问题多数出在防火墙端口未开放。以下是具体的解决方案。

👉 【建议收藏】2025年Racknerd最新优惠套餐整理汇总 - 每日更新可用活动优惠

1. 测试 Nginx 是否安装成功

运行以下命令测试 Nginx 是否已经正确安装并可以正常使用。

bash $ wget http://127.0.0.1 --2025-01-03 20:11:34-- http://127.0.0.1/ 正在连接 127.0.0.1:80... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:615 [text/html] 正在保存至: “index.html” 2025-01-03 20:11:34 (83.5 MB/s) - 已保存 “index.html” [615/615])

如果能够收到 200 OK 的响应,说明 Nginx 已安装成功,但如果外网仍无法访问,则需要检查防火墙配置。

2. 查看 80/443 端口是否开放

使用 firewall-cmd 查看防火墙是否已开放 HTTP 和 HTTPS 的端口。

bash $ firewall-cmd --query-port=80/tcp output: no $ firewall-cmd --query-port=443/tcp output: no

从结果中可以看到这两个端口默认是关闭的,因此需要手动将其开放。

3. 打开防火墙的指定端口

运行以下命令,以永久方式开放 80 和 443 端口。

bash $ firewall-cmd --permanent --add-port=80/tcp output: success $ firewall-cmd --permanent --add-port=443/tcp output: success

4. 重启防火墙加载配置

添加端口后,需要重启防火墙以使新规则生效。

bash $ firewall-cmd --reload output: success

此时,外界应该正常可以通过 HTTP 和 HTTPS 访问到你的 Nginx 服务了。

附录:防火墙常用命令汇总

以下是使用防火墙的常用命令,便于日后配置或排查问题时参考。

  • 查看防火墙服务状态

    bash $ systemctl status firewalld

  • 检查防火墙运行状态

    bash $ firewall-cmd --state

  • 列出所有防火墙规则

    bash $ firewall-cmd --list-all

  • 查询某端口是否开放

    bash $ firewall-cmd --query-port=19999/tcp

  • 开放某端口(例如 80 端口)

    bash $ firewall-cmd --permanent --add-port=80/tcp

  • 关闭某端口(例如 80 端口)

    bash $ firewall-cmd --permanent --remove-port=80/tcp

  • 重启防火墙

    修改防火墙规则后必须重启防火墙。

    bash $ firewall-cmd --reload

通过以上步骤,相信你可以顺利解决 Nginx 外网访问的问题。如果仍有其他疑问,可以进一步检查 Nginx 配置文件是否正确设置了监听地址或主机防火墙策略。祝顺利!

Subscribe to cn2 gia vps
Receive the latest updates directly to your inbox.
Nft graphic
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from cn2 gia vps

Skeleton

Skeleton

Skeleton