技术人员在开发和生产的SSL证书选型上,核心原则是:开发环境追求效率与灵活,生产环境必须保障信任与安全。
开发环境:优先用自签名证书
自签名证书免费、生成快,适合内部测试、局域网或未上线系统。使用时需注意,浏览器或客户端会提示“不安全”,你需要手动将证书加入信任列表(例如 `openssl req -x509 -newkey rsa:4096 ...`)。这种方法绝不应用于生产环境。
生产环境:必须用权威 CA 证书
面向用户的服务必须使用权威 CA 签发的证书,否则浏览器会拦截访问,用户会看到“不安全”警告,导致信任危机。同时,现代 HTTP/2、很多 API 网关都强制要求使用 CA 证书。对于公网服务,推荐使用像 Let‘s Encrypt 这样的免费自动化 CA;对于企业内部系统,可搭建私有 CA 或使用企业级证书。
例外与混合方案
在一些特殊场景下可以混合使用:
内部微服务:服务间通信(如 gRPC、mTLS)可用自签名或私有 CA 证书,但需在客户端配置固定信任。
开发中的模拟生产:可使用 `mkcert` 等工具生成本地有效的 CA 证书,让浏览器自动信任,兼顾便利与真实性。
总的来说,自签名SSL证书是开发和测试阶段的利器,但绝不要用在面向真实用户的生产环境。权威 CA 证书虽然需要管理(如自动续期),但它是建立公网信任的唯一选择。
如果需要具体的生成命令或配置方法,我可以进一步说明。