无法从远程机器连接到我的 nginx 服务器

无法从远程机器连接到我的 nginx 服务器

我以为是 iptables 的问题。。但似乎不是。我真的不知道这种情况。

我正在获取一个服务器托管(CentOS)。我安装了 Nginx + Django,并且 nginx 使用 8080 端口。一个域已连接到服务器。

当我在服务器中执行“wget [domain]:8080/[app name]/”时,成功了。当然,“wget 127.0.0.1:8080/[app name]/”也没问题。(wget [server ip]:8080/[app name]/也可以)

但是,从其他计算机连接失败。(消息说,没有路由)

我检查了防火墙设置。我执行了这些命令。

 iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
 iptables -I OUTPUT -p tcp --sport 8080 -j ACCEPT
 iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
 /etc/init.d/iptables restart

我不太了解命令的所有选项,而且我认为有些命令是没用的,但我只是尝试了所有谷歌搜索的 iptables 设置。

但我仍然无法连接到服务器。我应该先检查什么?

我不知道这是否重要,但还是要补充一下。在 80 端口上,一个 Apache 服务器正在运行。它运行正常,我可以从其他计算机连接到 Apache。存在数据库连接问题(PHP 到 MySQL),但我认为这只是 PHP 编码错误。

请原谅我的英语水平较低。我不是英语母语人士……但我尽可能地解释清楚了。感谢您阅读这个问题。

答案1

关闭你的防火墙,清除所有规则并重试你的远程连接

  • 如果你可以连接 -> 调整你的防火墙
  • 如果你无法连接——>调整你的路由

tcpdump port 8080您可以在服务器上查看包裹是否到达。

答案2

如果您已经执行了您写的命令序列,我认为没有应用任何规则,因为您已经重新启动了 iptables 而没有保存新的设置。

尝试在 iptables 文件 /etc/sysconfig/iptables 中添加以下规则(检查端口 8080 上没有其他规则):

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

或者使用以下命令:

 iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
 iptables-save

重新启动 iptables:

/etc/init.d/iptables restart

现在您应该看到运行此命令的规则:

root@centos01 sysconfig]# iptables -L -n | grep 8080
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:8080 

尝试从远程主机连接

相关内容