使用 Windows 主机文件将外部 URL 重定向到子域?

Eri*_*010 2 networking windows hosts ssl-certificate windows-10

我将发布此问题,如果社区确定需要详细说明或澄清,我将对其进行编辑。

问题

我今天想到了一个我认为是绝妙的主意。我经常在 Amazon.com 上购物。亚马逊提供了一项计划,让您将所有购买的一部分捐给您选择的名为“Amazon Smile”的慈善机构。您可以通过转到“smile.amazon.com”(amazon.com 的子域)来选择“激活”慈善机构。每当我键入“amazon.com”以自动转到“smile.amazon.com”时,我都想使用 Windows 10 主机文件进行重定向,以便我的慈善机构始终受益。不幸的是,它并没有像我希望的那样工作。

我试过的

首先,我以管理员身份打开 Notepad.exe。然后,我从记事本(路径:)

C:\Windows\System32\drivers\etc\hosts
Run Code Online (Sandbox Code Playgroud)

并尝试了以下所有方法,但无济于事:

  • 直接网址转换

    smile.amazon.com amazon.com

  • 使用 CMD Ping 获取smile.amazon.com ( 54.239.26.123 ) 的URL

    54.239.26.123 amazon.com

  • 还添加了 www 子域路由

    54.239.26.123 amazon.com 54.239.26.123 www.amazon.com

  • 似乎都没有奏效(当我输入 _amazon.com_ 时,URL 栏中的地址不会更改为 "smile.amazon.com"),但是,存在某种证书错误。我尝试了 4 种浏览器,包括 Firefox、Chrome、SeaMonkey 和 IceDragon,(清除所有这些浏览器的缓存),无济于事。

  • 根据这个服务器故障帖子,我试过这个:

    • ipconfig /flushdns
    • ping smile.amazon.com Pinging smile.amazon.com [54.239.26.123] with 32 bytes of data: Request timed out.
    • C:\WINDOWS\system32>nbtstat -R Successful purge and preload of the NBT Remote Cache Name Table.

证书/安全错误

进行上述更改后,我收到此错误:

铬合金:

你的连接不是私人的

攻击者可能试图从 www.amazon.com 窃取您的信息(例如,密码、消息或信用卡)。NET::ERR_CERT_COMMON_NAME_INVALID

如果我点击“高级”,我会得到这个:

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

无论如何,当我单击继续访问 amazon 时,浏览器将我带到 amazon.com,我在 url 中看到了这一点:

(https[划掉])://www.amazon.com


我的问题

所以,我想我想知道的是:

  1. 是否可以通过 Windows 主机文件将 amazon.com 重定向到smile.amazon.com?
  2. 我该怎么做?

小智 5

DNS 解析和 HTTP 重定向是完全不同的事情,这种方法是错误的。毒害您的本地 DNS 解析以强制执行“amazon.com”解析以伪造“smile.amazon.com”IP 只会导致服务器端的 SSL 证书、HTTP 会话和跨站点请求拒绝问题:

首先是SSL证书。amazon.com 和smile.amazon.com 使用特定于子域​​的证书提供服务,因此当出现与证书名称不匹配的 URL 请求时,浏览器会将错误提升给用户。因此,如果您向支持“smile.amazon.com”的服务器请求“amazon.com”资源,即使在执行 HTTP 请求之前,您的浏览器也会因证书名称不匹配而警告您。当然,您可能会忽略这一点,但是在存在跨域请求的情况下,支持应用程序逻辑的 javascript 可能不会使 Web 完全无用。

其次,如果您以任何方式绕过 SSL 问题,您的浏览器将向smile.amazon.com 发送请求,要求提供 amazon.com 内容,这将导致服务器端提出各种安全机制来拒绝此类跨站点要求。

最后,期待服务器端会话管理、身份验证、cookie 验证等方面的所有问题。