自签名 SSL 证书不适用于 MAMP 和 Chrome

Self-signed SSL certificates not working with MAMP and Chrome

MAMP 创建的 SSL 证书在 Chrome 中不起作用。我遇到了 "Not secure" 问题。

有解决办法吗?

**注意:由于我发布了这个,Google 已经获得了 .dev 顶级域,因此不建议使用 .dev 主机名进行本地开发。我现在使用 *.dv。阅读此答案时,请在您自己的项目中重新创建步骤时将 .dev 替换为 .test 或其他内容。不建议使用 .local **

Chrome 现在要求 SSL 证书使用“主题替代名称”(SAN) 而不是旧的通用名称。这会破坏之前由 MAMP 生成的自签名证书。

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

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

  1. 创建您的主机名,例如。 test.dev 和 select 您的文档根目录

  2. 单击 SSL 选项卡,然后选中“SSL”框。确保未选中另一个复选框“仅允许使用 TLS 协议的连接”。

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

  1. 保存您在 MAMP 中的更改,并重新启动服务器。
  2. 单击 MAMP SSL 面板中“证书文件”旁边的圆形箭头按钮(在 Finder 中显示)。双击突出显示的 .crt 文件 - 它应该像您的主机一样命名,例如。如果您的主机是 test.dev,那么您的证书文件将是 test.dev.crt。这应该会打开 Keychain Access,您应该会在其中看到新证书。
  3. 右键单击/控制单击证书,然后选择“获取信息”。单击“信任”旁边的下拉三角形

  1. 从“使用此证书时”select或选择“始终信任”- 每个select或应更改为显示“始终信任”。关闭 window。它将要求您提供 Mac OS 系统密码以进行更改。您应该看到证书图标上面显示了一个蓝色的小加号图标,将其标记为受信任。

  1. 重启Chrome.
  2. 访问您的新主机名,在浏览器中享受绿色https 酒吧.

如果上述解决方案没有帮助,请转至 chrome://flags 查找 "Allow invalid certificates for resources loaded from localhost" 并启用它,重新启动 Chrome 就可以了。

对于仍有问题的用户,请尝试使用端口 8890。默认的 MAMP ssl 端口是 8890,因此请访问 https://test.dev:8890。为我工作。

我按照答案。对我有用的是在 general 选项卡

中将 port number 设置为 443

对我来说,没有必要使用 MAMP 端口,而是将它们保留为 Apache 默认值。我也不需要指定端口 443。创建自签名证书后的帮助是将 Chrome 中显示的证书图标安装到我的 Mac 钥匙串中,方法是将图像拖到桌面并双击它。一旦它被安装到 Mac Keychain 中,您可以将它设置为信任证书。

参考这个图文并茂的答案: https://www.accuweaver.com/2014/09/19/make-chrome-accept-a-self-signed-certificate-on-osx/

  • MAMP 专业版 4.5
  • Chrome 71