Ssl 无法接受Safari 11中的自签名证书以访问流浪者/宅地本地站点
我安装了Wagrant和Homestead在本地测试我的应用程序。当我访问Ssl 无法接受Safari 11中的自签名证书以访问流浪者/宅地本地站点,ssl,safari,vagrant,homestead,macos-high-sierra,Ssl,Safari,Vagrant,Homestead,Macos High Sierra,我安装了Wagrant和Homestead在本地测试我的应用程序。当我访问http://mysite.app在Firefox和Chrome中。但是,Safari不允许我使用该站点的http/非安全版本,并将自动将我重定向到安全(https)版本。例如,当访问http://mysite.app,我被重定向到https://mysite.app 其他浏览器(Firefox和Chrome)不会重定向我,我可以使用标准的非安全版本。所以这不是服务器强制的重定向 如果Safari允许我访问https版本,
http://mysite.app
在Firefox和Chrome中。但是,Safari不允许我使用该站点的http
/非安全版本,并将自动将我重定向到安全(https)版本。例如,当访问http://mysite.app
,我被重定向到https://mysite.app
其他浏览器(Firefox和Chrome)不会重定向我,我可以使用标准的非安全版本。所以这不是服务器强制的重定向
如果Safari允许我访问https
版本,那么重定向本身就不是问题。由于它是本地开发环境,SSL证书是自签名的,Safari不允许我使用不受信任的证书访问站点。所以最后,当使用Safari访问这个流浪网站时,我总是遇到一个Safari无法建立安全连接的错误
Safari不再提供接受自签名证书的方法。同样,这不是Chrome或Firefox的问题,因为它们允许您直接从浏览器添加异常
你知道我如何让Safari使用站点的http
版本或让Safari信任自签名证书吗
仅供参考,我正在High Sierra 10.13.2测试版上使用Safari 11.0.2。iMac和MacbookAir上的结果相同,因此与计算机无关。虽然我不知道Safari为什么要强制使用SSL,也不想在这个流浪者/宅地盒子(如Firefox或Chrome)上使用我的网站的非安全(http)版本,但我找到了一种方法,将自签名的网站证书标记为MacOS密钥链访问中的受信任证书
请注意,以前版本的MacOS不应存在此问题,因为Safari允许您直接在浏览器中添加异常,并使用无效的SSL证书继续访问站点。这将在Safari 11(High Sierra)中消失
因此,可以在主机上访问我的Vagrant网站(使用到Vagrant box或其他浏览器的ssh连接),将其添加到密钥链并将其标记为受信任
然而,另一个关于钥匙链访问的问题出现了。虽然这在早期版本的MacOS中适用,但在High Sierra(或至少10.13.2 Beta)下,将密钥链访问应用程序中的证书标记为受信任的功能消失了。在我的iMac和MacbookAir上,双击添加到密钥链中的证书绝对没有任何作用。即使从上下文菜单中单击“获取信息”
,也无法编辑证书
是使用命令行将证书标记为受信任。使用终端,cd
将证书保存到计算机上的目录,并运行以下命令:
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain example.app.cer
使用您的证书名称更改example.app.cer
。这将在密钥链访问中将证书标记为受信任,并允许您访问本地站点,就好像它是用有效的证书签名的一样
tl;dr将从“流浪者/宅地”框中获取的站点证书添加到密钥链中,运行命令并仅使用https连接 前面的答案并不完全正确。macOS High Sierra能够通过Keychain Access应用程序信任证书,因此无需CLI 步骤:
完成。FYI,这将影响最新版本的Google Chrome。他们也不可能从浏览器中删除添加异常的功能。实际上,Chrome似乎仍然包含此功能,但从版本63-12/7/2018()起,不适用于.dev域()。在我的本地环境中,当我在这上面清除杂草时,我发现当访问.dev站点时,不再有“无论如何访问站点…”选项,但当我将其更改为.localhost时,有一个…很高兴知道。看起来默认宅地
.app
现在也无效。我以后会使用.localhost
。哼。。。无法确定测试,但看起来他们在最近的更新(至少10.13.5-beta版)中添加了将证书标记为可信的功能。正如我在之前的回答中所述,它在High Sierra 10.13.2 Beta中不起作用。请注意,如果您在虚拟机中使用生成的自签名证书,则需要将生成的证书文件复制到您的计算机,然后在Keychain Access中打开它,然后单击它,然后执行获取信息/信任设置。完成后,页面将毫无例外地加载。