配置 Fedora 15 Linux 以允许其他计算机通过端口 80 进行访问

配置 Fedora 15 Linux 以允许其他计算机通过端口 80 进行访问

我正在尝试使我的家庭服务器可供整个网络访问。我已经在 Fedora 15 64 位 Linux 计算机上安装了 Nginx,它可以与 localhost 配合使用,但无法在线工作,也不允许网络上的其他计算机通过 IP 地址访问它。它一直返回:

无法连接

我有端口转发。我甚至尝试过不同的端口,但它们似乎都被阻止了。可能出了什么问题?我有一个 netgear 路由器。

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     icmp --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-    prohibited 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-    prohibited 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

答案1

Fedora 的默认防火墙配置会阻止端口 80。解除阻止的最简单方法是使用system-config-firewall默认 Fedora 安装中提供的工具。

要在图形环境中使用它,找到防火墙桌面应用程序菜单中的选项(通常位于行政类别)或system-config-firewall通过终端或按ALT+运行F2。然后选中万维网 (HTTP) 80/tcp

系统配置防火墙,其中 WWW 突出显示

如果需要 HTTPS/SSL,也请选择安全 WWW (HTTPS) 443/tcp。最后,点击申请使更改生效。

要从控制台使用它,请运行system-config-firewall-tui。按下TAB键直到Customize突出显示,然后按Enter。按下Down Arrow直到到达WWW (HTTPD)并按Enter选择它:

system-config-firewall-tui 突出显示 WWW

(如果您也需要 HTTPS,请不要忘记。)现在选择Close,然后OK保存您的新防火墙配置。

答案2

iptables -L请将运行 nginx 的机器的输出添加到您的问题中。

正如上面的评论,听起来您的 Linux 服务器正在阻止非本地连接的端口 80。

另外,您是否已将 nginx 设置为监听所有接口,而不仅仅是 127.0.0.1?它将位于 nginx 配置文件中(类似listen 80;或类似)。

答案3

  1. 验证不同的设备是否可以访问您的服务器(ping)。
  2. 验证不同的设备是否可以访问服务器上的另一个服务(ssh)。
  3. 验证您的服务器上没有本地防火墙(iptables -L)。
  4. 验证您的 Web 服务器是否正在监听接口 172.16.0.15 或 * (netstat -al)。
  5. 验证您的 Web 服务器是否允许客户端在其配置文件中进行连接。
  6. 从您的不同设备,查看telnet 172.16.0.15 80您是否发生连接超时、连接被拒绝或连接关闭(第一种情况是防火墙,第二种情况是您的 Web 服务器未监听或关闭,第三种情况是 Web 服务器配置问题)。

答案4

尝试本地隧道类似的服务,但需要付费,包括 showoff.io 和佩奇风筝

相关内容