我读过How to configure user specific hosts file on Windows,它没有答案,是从2012年开始的,所以任何人复活它的机会几乎为零。
这是我的用例:我们有一个nodejs工具套件,允许用户生成保存到生产系统上自己的子域的内容。假设它已部署在example.org
上,并且您已使用用户名xyz
进行了注册,那么您生成的内容最终会出现在xyz.examplecontent.org
上(由于明显的安全问题,不同的域名)。
问题是这也需要由开发人员在本地进行测试,包括使用用户名前缀域路由的系统。由于在干净的结账时,没有预先烘焙的用户,每个开发人员都必须设置一些用户(这部分是必不可少的,因为它测试用户创建过程),但随后也手动编辑他们的hosts
文件, (就计算机而言)有正确解析的用户子域主机。
可以使用https://npmjs.org/package/hostile或https://npmjs.org/package/mod-hosts等库存自动化主机修改(折扣https://npmjs.org/package/local-tld,因为它只是OSX),但是因为修改了主机文件Windows或OSX需要管理权限,你绝对不会运行任何具有管理员权限的应用程序,这些库很酷,但实际上并不可用。
是否有任何Node.js软件包在搜索http://npmjs.org找到可以解决此问题的“hosts”时找不到,或者Windows和OSX有办法设置免费的主机文件以便其他主机可以在不污染主文件的情况下指定规则,而不需要管理员权限吗?
注意:“这种自动化工具可以为您做到并在* n * x,OSX和Windows上运行,但需要ruby / python / perl /无论什么”的答案也很完美当然可以接受。只要它是跨平台的并且不需要管理员权限,那就已经比手工策划好了。
答案 0 :(得分:0)
我建议创建一个自定义DNS服务器来响应*.somespecificdomain.ext
个请求并在本地运行它。
在Node JS中编写了几个DNS服务器,这是一个例子:https://github.com/tjfontaine/node-dns
此问题中有更多nodejs DNS服务器:Simple DNS Server in Node.JS? (Primary/Authoritative DNS Server) (maybe ndns?)
您可以然后将此DNS服务器添加到本地网络设备DNS服务器的底部。 如果您在主网络设备上使用DHCP,则可能将其添加到特定目标操作系统上的Virtual Network Adapter或类似设备。
是的,您需要admin / root权限才能将DNS服务器添加到网络适配器 - 但这是一次性任务。