Apache2:网页只能通过本地主机访问,不能通过自定义域或 IP 地址访问

Apache2:网页只能通过本地主机访问,不能通过自定义域或 IP 地址访问

我刚刚开始学习 Apache 服务器。

apache2(version 2.4.41)基于 Ubuntu、WSL2 Windows10 进行了安装,并遵循本教程建立网页。

我创建了一个网页进行测试,路径为:

/var/www/info.dev/html/index.html

问题是,在我一步一步按照教程操作之后,我的网页只能通过以下方式运行localhost

本地主机图片

这是我的/etc/hosts文件:

主机图片

我的info.dev.conf文件:

配置图片

info.dev如果我使用自定义域(如或),它将不起作用www.info.dev域名

如果我使用本地 IP 地址,则会出现此错误:图像

我被这个问题困扰了好几天,尝试了所有我能在谷歌上找到的解决方案,但似乎没有一个对我有用。如果有人能帮我解决,我将不胜感激。

答案1

根据您分享的大量图片,我敢说您编辑了“错误”的hosts文件。您不需要更改 Ubuntu 中的文件,而是需要编辑 Windows 中的文件(位于 )C:\Windows\System32\Drivers\etc\hosts。在那里,您可以添加记录。

代替:

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost

和:

127.0.0.1        localhost
127.0.0.1        info.dev

::1              localhost
::1              info.dev

您不需要为诸如 之类的子域名创建记录www.info.dev。请务必将其替换127.0.0.1为您的 WSL2 Ubuntu 实例的 IP 地址。您可以通过wsl hostname -I在 PowerShell 或命令提示符中键入以下内容来找到它:。

在您的 Apache 配置文件中,您可以更新ServerAlias以包含通配符,以确保域的所有流量都正确路由:

ServerAlias info.dev *.info.dev

info.dev两者都有就ServerName可以ServerAlias了。如果愿意,您可以将其从别名中排除。

相关内容