为什么编辑主机文件以重定向到我选择的 IP 会出现 404 错误

1 networking linux ip hosts-file

我在 Linux 中编辑了 hosts 文件

etc/hosts

我在最后放了两个条目

127.0.1.1       brij-Latitude

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

172.217.174.228 adaway.org
172.217.174.228 app.adaway.org
Run Code Online (Sandbox Code Playgroud)

但是每当我尝试访问 adaway.org 时,它并没有将我推送到 172.217.174.228 (google.com),而是给了我 404。

难道我做错了什么?

Kam*_*ski 5

你的修改确实把你推到了 172.217.174.228,你得到的 404 错误页面来自谷歌。有一条消息:

在此服务器上找不到请求的 URL /。

这是它在我的 Firefox 中的样子:

Firefox 中的 404 错误页面

服务器检查了您使用的 URL,试图决定它应该提供哪个网站。一个 IP 地址后面可以有许多网站,URL 告诉服务器您想要哪个网站。

在这种情况下,服务器无法识别adaway.org它可以向您显示的任何网站,因此会出现错误。

此外,服务器无法使用adaway.org. 它不是正品adaway.org,它没有他们的证书。我的 Firefox 告诉我,Connection is not secure但仍然让我看到服务器返回的内容。其他浏览器(具有其他设置)可能拒绝与欺诈服务器对话。我的 Vivaldi 设置得更加小心;这就是我在 Vivaldi 中得到的:

来自维瓦尔第的警告

此服务器无法证明它是adaway.org;它的安全证书来自www.google.com. 这可能是由于配置错误或攻击者拦截了您的连接造成的。

如您所见,仅重定向到另一个 IP 地址是不够的。您需要让您的浏览器使用服务器识别为自己的 URL(理想情况下:识别并可以进行身份​​验证),或者至少即时翻译通信,因此服务器看到的 URL 与您的浏览器请求的 URL 不同。您不能仅通过修改hosts文件来完成此操作。