在Windows或Linux上的hosts文件中不可能使用通配符。 有没有办法用浏览器插件或其他东西来做?
我在vbox实例上有一个开发服务器,所以它实际上是局域网。 我正在为我的虚拟主机创建.dev域,因此example.com成为example.dev。 对于一个应用程序,我正在创建随机子域(abd34dn.example.dev),它应该都指向开发服务器的IP。
我有什么选择?
答案 0 :(得分:4)
不是编辑主机文件(不适合您的要求),而是设置DNS服务器并设置通配符DNS A记录 - 比如
*.example.dev IN A 1.2.3.4
您提到了子域名,但我假设您实际上想要example.dev下的主机条目(A地址条目)。现在abcd.example.dev表示“abcd”是主机条目,而不是子域。只有当你说xyz.abcd.example.dev时,“abcd”才会成为子域名。关键是要说 - 因为你只想要abcd.example.dev - 那么你只需要DNS A记录,如上所述。
答案 1 :(得分:2)
AngryHosts可以作为一个简单的DNS,它只是一个很小的软件,非常容易使用。
答案 2 :(得分:2)
我制作了这个简单的工具来代替主机。支持正则表达式。 https://github.com/stackia/DNSAgent 仅限Windows。可能与Mono合作。
示例配置:
[
{
"Pattern": "^.*$",
"NameServer": "8.8.8.8"
},
{
"Pattern": "^(.*\\.googlevideo\\.com)|((.*\\.)?(youtube|ytimg)\\.com)$",
"Address": "203.66.168.119"
},
{
"Pattern": "^.*\\.cn$",
"NameServer": "114.114.114.114"
},
{
"Pattern": "baidu.com$",
"Address": "127.0.0.1"
}
]
答案 3 :(得分:1)
您可以使用echoipdns(https://github.com/zapty/echoipdns)。
通过运行echoipdns dev,对.dev子域的所有请求都会重定向到127.0.0.1,因此任何具有xyz.dev等的域都将解析为127.0.0.1。您可以使用任何其他后缀,只需将dev替换为您想要的名称。
Echoipdns功能更强大,如果您想使用网络中其他机器的网址,您仍然可以零配置使用它。
例如如果您的机器IP地址是192.168.1.100,您现在可以使用域名xyz.192-168-1-100.dev,它将始终解析为192.168.1.100。这个魔术是由echoipdns通过查看域名的第二部分中的IP地址并在DNS查询上返回相同的IP地址来完成的。您必须在要从中访问远程系统的计算机上运行echoipd。
echoipdns也可以设置为独立的DNS代理,因此只需指向此DNS,您现在可以使用上述所有优势而无需每次都运行特殊命令,甚至可以从移动设备使用它。
基本上,这简化了基于通配符域的DNS开发,适用于本地和团队环境。
echoipdns适用于Mac,Linux和Windows。
注意:我是echoipdns的作者。