帮助中心 > 关于云服务器 > Nginx能不能支持自签名SSL证书
Nginx能不能支持自签名SSL证书
时间 : 2025-04-15 16:39:04
编辑 : Jtti

  提到HTTPS,我们第一反应是证书。要安全加密通信,就得部署SSL/TLS证书。而对于很多开发者来说,第一步接触HTTPS时,往往不想马上去买正规证书,或者仅仅是本地测试、内网环境,于是就会问:Nginx支持自签名证书吗?答案支持,完全没问题。但是支持不等于“适合正式使用”。

  在谈Nginx之前,先搞清楚证书的含义。

  自签名证书即你给自己发的证书。就是你自己用OpenSSL工具生成一套证书和私钥。没有第三方机构认证,浏览器不信任你。优点免费、随便用、立刻生成。缺点也很直观,浏览器会警告“不受信任连接”

  正规证书(由CA签发),浏览器默认信任它们的根证书。优点自动信任、无警告、安全感。缺点也很直接,免费证书要定期续期、付费证书成本高。

  Nginx支持自签名SSL吗?

  是的,Nginx 对证书来源不做限制。不管你用的是 Let’s Encrypt、还是用openssl手动生成的自签名证书,Nginx 都一样能跑。

  Nginx 的 SSL 配置核心是这两个参数:

ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;

  你只要有一套 .pem(证书) 和 .key(私钥),Nginx 就能给你跑出一个HTTPS服务。

  用自签名证书部署 Nginx HTTPS 服务

  下面是一份完整流程,适合测试环境或局域网应用。

  步骤 1:生成自签名证书

openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout self.key \
  -out self.crt \
  -subj "/C=CN/ST=Beijing/L=Beijing/O=MyOrg/CN=example.com"

  这条命令会生成:

  self.crt:公钥证书

  self.key:私钥

  可以随意放在你系统中的任意目录,比如 /etc/nginx/ssl/

  步骤 2:配置 Nginx 启用 HTTPS

  修改或新增配置块:

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate     /etc/nginx/ssl/self.crt;
    ssl_certificate_key /etc/nginx/ssl/self.key;

    location / {
        root /usr/share/nginx/html;
        index index.html;
    }
}

  然后测试配置并重启 Nginx:

nginx -t 
systemctl restart nginx

  访问 https://example.com,能打开,但浏览器会弹出“连接不安全”,提示证书不受信任。

  这是正常现象,因为自签名证书没有权威机构担保。

  什么时候可以用自签名证书?

  虽然浏览器会警告,但并不代表自签名证书就是错的。在以下场景,它反而是好帮手:

  1. 本地开发调试

  你不想每次都用HTTP跑项目,想测试HTTPS接口是否可用,自签名证书可以立刻搭建HTTPS,不用注册、不用等待。

  2. 内网服务 / 自建面板

  某些管理系统面板、API 网关等,如果你明确知道访问来源(比如 IP 白名单、固定内网域名),完全可以用自签名证书,浏览器提示点跳过即可。

  3. 测试 HTTPS 流量、验证配置文件

  有些配置,比如 HTTP/2、TLS1.3、OCSP Stapling 等,只在启用 HTTPS 后才有效。你想提前验证时,自签名证书是“最佳临时工具”。

  如果你只是想快速开启HTTPS、验证一套Nginx + TLS配置,自签名证书是个理想选择。但如果你准备对外开放服务,强烈建议用正规签发的证书。

相关内容

使用Docker镜像部署Linux应用的优势是什么 如何将Linux服务器的文件系统创建成镜像? vps服务器带宽是否跑满?查看带宽使用情况的具体方法分享 解读巨型帧定义及其对云服务器性能的深度影响 香港云服务器流量计费模式全解析 CN2VPS服务器计费模式选择指南:流量和带宽经济性对比 韩国VPS网络速度与延迟的常见原因分析 双向CN2云服务器玩游戏到底卡不卡 云手机的定义和主要应用场景分享 跨境电商组网的底层逻辑分析
返回

24/7/365 全天候支持我们时刻恭候您

帮助中心