在通过更新 DNS 记录将现有网站切换到生产环境之前,在新服务器上测试现有网站的常用方法是更改hosts
开发机器(/etc/hosts
在 *NIX 系统和%windir%\system32\drivers\etc\hosts
Windows 上)上的文件,让操作系统将服务器的主机名解析为新服务器。这样,开发人员就可以在实际部署之前在真实条件下测试新服务器。
现在,更改hosts
文件也有一些缺点,其中包括:
- 开发人员可能会忘记删除更改,这可能会对长期产生不良影响
- 此更改需要机器的管理权限
因此问题是:有没有办法做这个改变仅有的在浏览器中(适用于 Firefox、Chrome 和/或 MSIE)?寻找 Firefox,我发现了两个或三个附加组件,但它们都做同样的事情:修改操作系统范围的hosts
文件。
我正在寻找一个可以在 MS Windows 和 Linux 上运行的独立轻量级解决方案,它不需要管理员权限(例如,我可以让学生在他们的实验室电脑上执行此操作),并且不需要任何外部硬件/服务(例如,执行 DNS 欺骗的路由器或执行相同操作的代理服务器)。
答案1
在 Chromium 中,你可以使用--host-resolver-rules
选项来指定映射列表。
例如:
$ chromium \
--user-data-dir=/tmp/some-temp-dir \
--host-resolver-rules='MAP host1.example.com 127.0.0.1, MAP host2.example.com 127.0.0.1'