Mat*_*off 3 dns curl google-chrome hosts
当我尝试访问http://mysubdomain.localhostchrome解析时[::1]80,即使hosts文件中存在此域的显式条目.没有其他浏览器以这种方式运行.Firefox,safari和curl都解析了我的hosts文件中给出的IP地址.这是我目前整个主机文件:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
192.168.88.88 mysubdomain.localhost
Run Code Online (Sandbox Code Playgroud)
然而,当我尝试访问http://mysubdomain.localhostchrome时,它无法解决问题192.168.88.88.这对我来说是个问题,因为它192.168.88.88是在我的计算机上运行的虚拟机.我可以将域更改为http://mysubdomain.local或http://mysubdomain.dev,但这需要我更新项目中许多人使用的配置文件,我宁愿避免,因为我可能会破坏其工作流程的某些方面.
我已经尝试过的一些事情:
chrome://net-internals/#dnssudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder系统信息:
Chrome版本:53.0.2785.116
操作系统版本:Mac OS 10.11.6(El Capitan)
Mat*_*off 10
经过进一步审查,我认为这很不幸地按照设计进行.从铬问题队列:
这是作为安全缓解完成的,因为OS X的解析器无法正确确保在网络上不查询.localhost域,这是确保.localhost真正本地化的关键安全属性.因为我们不能相信解析器做安全的事情,我们遗憾的是不能相信解析器(即使它可能是安全的)...
安全风险与正确配置的服务器与未正确配置的服务器无关.这是DNS解析器永远不应该向网络发送foo.localhost请求.如果是这样,网络攻击者可以使"foo.localhost"指向他们选择的任何IP.这是不好的,因为"本地主机"(和"*.localhost")有特殊的权限(CF http://www.w3.org/TR/powerful-features/#is-origin-trustworthy),因为他们有那些特权,他们需要是安全的.
实际上,似乎chrome可能是正确实现RFC-6761的唯一工具,其中部分说明:
名称解析API和库应该将localhost名称识别为特殊,并且应该总是返回地址查询的IP环回地址和所有其他查询类型的否定响应.名称解析API不应该将localhost名称的查询发送到其配置的缓存DNS服务器.
所以似乎没有办法解决这个问题.我将我的虚拟机的域名更改为http://mysubdomain.local
| 归档时间: |
|
| 查看次数: |
2261 次 |
| 最近记录: |