我在 parrot linux 上运行 apache 2.4.46,出于教学目的,我使用 html 修改了默认的 /var/www/html/index.html。我可以在 LAN 上访问此服务器,但我想在 WAN 上访问此 apache 服务器,按照一些教程,我将端口转发到 inet 192.168.0.104 和端口 80,我还使用 no-ip 网站获取免费 dns 并成功将其添加到我的路由器。当我尝试连接到此 dns 时,出现 404 错误。有人能帮我理解我遗漏了什么吗?
ps ~ 之后我删除了 apache 服务并在端口 22 上添加了 ssh 服务,以检查这是否是 DNS 错误,但我成功地通过 WAN ssh 进入我的电脑
答案1
如果您收到 404,则表明您的 Apache 服务器对外界可见。404 表示服务器已收到请求但找不到文件。如果服务器无法访问,您将看到超时。
此问题最常见的原因是 Apache 配置不完整。检查ServerAlias
您的文件中是否有一行/etc/apache2/sites-enabled/000-default.conf
(或您的目标站点配置文件)。该行可以包含 Apache 安装的多个路由目标。例如:
ServerAlias example.com *.example.com
一般来说,我的做法是*.*
在最后抛出一个捕获所有请求的方法,这样任何意外的请求路由(比如 IP 地址或裸 CNAME 地址)都会得到处理,而不会返回 404 或 500 错误。