MAMP和Chrome不支持自签名SSL证书

28

MAMP创建的SSL证书在Chrome中无法使用。我遇到了“不安全”的问题。

是否有解决方法?

输入图像说明


还可以参考以下内容:如何使用您的认证机构签署证书签名请求如何使用openssl创建自签名证书? 您还需要将自签名证书放置在适当的信任存储中。 - jww
5个回答

58

注意:自从我发布这篇文章以来,Google已经收购了.dev顶级域名,因此不建议在本地开发中使用.dev主机名。我现在使用*.dv。阅读此答案时,请在重现您自己项目中的步骤时将.dev替换为.test或其他内容。不建议使用.local

现在,Chrome要求SSL证书使用“Subject Alt Name”(SAN)而不是旧的通用名称。这破坏了之前由MAMP生成的自签名证书。

幸运的是,解决方法非常简单。

以下是从设置主机开始到在MAMP Pro中将其设置为SSL的所有步骤。如果您之前在MAMP中创建了SSL证书,则我发现删除它们并重新使用此方法可以解决问题。

  1. 创建您的主机名,例如test.dev,并选择文档根目录

  2. 单击SSL选项卡,选中“SSL”复选框。确保您不选中其他复选框“仅允许使用TLS协议进行连接”。

MAMP Pro中显示SSL面板的截图

  1. 单击“创建自签名证书”按钮,填写弹出窗口中的相关详细信息。单击“生成”并将证书保存在/Applications/MAMP/Library/OpenSSL/certs/

MAMP Pro中SSL证书创建弹出窗口的截图

  1. 在MAMP中保存更改,并重新启动服务器。
  • 在 MAMP SSL 面板中的“证书文件”旁边点击圆形箭头按钮(在 Finder 中显示)。双击高亮显示的 .crt 文件 - 它的名称应该类似于您的主机,例如,如果您的主机是 test.dev,则您的证书文件将为 test.dev.crt。这将打开密钥链访问,并且您应该在其中看到新证书。
  • 右键单击/控制单击证书,然后选择“获取信息”。点击“信任”旁边的下拉三角形。
  • Mac 密钥串访问证书的屏幕截图

    1. 从“使用此证书时”的选择器中选择“始终信任” - 所有选择器都应更改以显示“始终信任”。关闭窗口。它将要求输入您的 Mac OS 系统密码才能进行更改。您应该看到证书图标上有一个小蓝色加号图标,表示它已被信任。

    在 Mac 密钥串访问中为证书选择“始终信任”的屏幕截图

    1. 重新启动 Chrome。
    2. 访问您的新主机名,并享受浏览器地址栏中的绿色 https

    Chrome 浏览器中运行正常的 https 的屏幕截图


    1
    太棒了,解决方案简单易行!感谢 @raffjones! - Aaron Marton
    1
    完美。像魔法一样运行。赞 :) - Murtaza Malek
    1
    大量细节和截图。干杯! - Jammer
    @kevnk - 是的,我也听说过。我将彻底改写答案以适应最新版本的MAMP,并包括这一点。 - codewithfeeling
    非常棒的解释。截图起到了很大的作用。谢谢。 - Mark Notton
    显示剩余2条评论

    6

    我按照答案操作。对我有效的是在通用选项卡中将端口号设置为443


    4
    如果上述解决方案无效,请前往chrome://flags查找“允许从本地主机加载的资源使用无效证书”,并启用它,重新启动Chrome即可。

    1
    嗨,我已经尝试过添加受信任的证书和添加此标志。我可以确认两者都已经就位,但仍然无法正常工作? - GCien

    3

    对于仍然遇到问题的人,请尝试使用端口8890。默认的MAMP SSL端口是8890,因此请访问https://test.dev:8890。这对我有用。


    1
    对我来说,使用MAMP端口并不是必需的,而是保持在Apache默认值。我也不需要指定443端口。一旦我创建了自签名证书,有帮助的是将显示在Chrome中的证书图标安装到我的Mac Keychain中,方法是将图像拖到桌面上并双击它。一旦安装到Mac Keychain中,您可以设置信任该证书。
    参考这个详细的答案: https://www.accuweaver.com/2014/09/19/make-chrome-accept-a-self-signed-certificate-on-osx/
    • MAMP Pro 4.5
    • Chrome 71

    我已经试图解决这个问题很长时间了!谢谢! - Jammer

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接