通过 LAN 外的 Web 服务器访问网站

通过 LAN 外的 Web 服务器访问网站

我已经安装了 apache 网络服务器;带有 MySQL 和 php,但无法/var/www/html使用我的公共 IP 地址从外部访问该网站。

我已经在路由器上为承载网站的设备执行了端口转发;但是当我输入网址时,http://<public IP address>:8080我收到一条消息说找不到该页面。

但是如果我使用 URL“localhost”,我可以看到该网站。我还需要检查什么,因为我的设置中显然遗漏了一些东西。

答案1

我建议您使用“简单防火墙”工具 -ufw,在此状态下。使用前端很容易iptables. 它的 GUI 版本称为gufw

1.安装应用程序:

sudo apt install ufw

2.设置默认策略以拒绝所有传入流量并允许所有传出流量:

sudo ufw default deny incoming
sudo ufw default allow outgoing

3.允许特定端口上的传入流量。例如,如果您的 Apache 服务器监听端口,80请使用以下规则:

sudo ufw 允许 80/tcp

或者您可以使用 Apache 的应用程序配置文件:

sudo ufw allow Apache

也许你还想允许访问 SSH 端口。在这种情况下限制更好的规则是:

sudo ufw allow 22

或者使用默认应用程序配置文件对于 SSH:

sudo ufw allow ssh

4.启用防火墙:

sudo ufw enable

参考:

答案2

sudo ufw status verbose将显示防火墙是否处于活动状态/启用状态,以及是否允许/阻止任何端口。

如果你在路由器上转发了端口 8080,请确保允许它通过防火墙,同时还要确保 Apache 正在监听端口。 .conf文件8080中的默认值是端口。/etc/apache2/ports.confsites-available80

相关内容