You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为本地服务器添加SSL证书,解决macOS端无继续访问选项的代码方案问题

解决方案

macOS Big Sur及以上版本对自签名证书的校验规则比Windows更严格,缺少强制要求的扩展字段的自签名证书会被直接标记为不可信任,不会提供手动继续访问的入口,以下两种代码/配置层面的方案可解决该问题,无需修改终端用户的浏览器设置:

方案1:更新自签名证书的生成配置(生产环境推荐)

你之前生成的自签名证书缺少macOS强制要求的扩展字段,重新生成证书时补充对应配置即可恢复「继续访问」入口,生成时需要满足以下规则:

  • 证书有效期不能超过825天
  • 必须配置subjectAltName(SAN)字段,值为你的服务器IP地址
  • 必须配置extendedKeyUsage字段,值包含serverAuth
  • 必须配置keyUsage字段,值包含digitalSignature和keyEncipherment

可直接使用以下openssl命令生成符合要求的证书,将命令中的192.168.1.100替换为你的服务器实际IP即可:

openssl req -x509 -newkey rsa:4096 -sha256 -days 398 -nodes \
  -keyout server.key -out server.crt \
  -subj "/CN=192.168.1.100" \
  -addext "subjectAltName=IP:192.168.1.100" \
  -addext "extendedKeyUsage=serverAuth" \
  -addext "keyUsage=digitalSignature, keyEncipherment"

生成后替换服务器上原有的密钥和证书文件,重启服务即可生效。

方案2:Angular端添加协议降级逻辑(临时调试场景推荐)

如果你的场景允许使用HTTP协议访问服务,可以在Angular应用初始化阶段增加自动降级逻辑:

  • 在App初始化provider的工厂函数中,先发起一次对服务器接口的HTTPS探测请求
  • 如果请求返回证书相关错误,自动将后续所有接口请求的前缀切换为HTTP协议
  • 同步在服务器端开启HTTP端口的访问权限即可,不需要修改证书配置

注意:HTTP协议传输存在数据泄露风险,仅推荐在本地局域网调试场景使用该方案。


内容的提问来源于stack exchange,提问作者R. Raut

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 14:54:04