ubuntu里nginx安装ssl证书

我这里是购买的阿里云的个人测试证书,此文档适合阿里ssl证书,nginx下的配置。

以下大概分为四个步骤::

第一步,购买证书

对于个人网站来说,就购买dv单域名证书就可以了。 如果要保护子域名,或者子域名很多个,则需要购买泛域名证书,支持所有子域名的证书。

第二步,dns验证,验证一下域名是不是你的,需要在dns那里设置一个txt或者是cname,这里只需要一个就可以了。 然后点击验证,验证完以后,就可以删除了。

第三步,是下载证书。证书分为nginx版,apache版本等,你网站用的什么服务,就下载哪个版本。

第四步,是安装证书,这里以nginx为里,把原来的server 节点拷贝一下,监听端口改为listen 443 ssl,增加ssl相关配置


# 复制已有监听 80 端口的 server 块,新增为一个新的 server 块
server {
    # 将原有 listen 80 修改为 listen 80 改为 listen 443 ssl
    listen 443 ssl;
    # 原有 server_name,可继续新增更多当前证书支持的域名
    server_name example.com www.example.com;
    
    # ======================= 证书配置开始 =======================
    # 指定证书文件(中间证书可以拼接至该pem文件中),请将 /etc/ssl/cert/ssl.pem 替换为您实际使用的证书文件的绝对路径
    ssl_certificate /etc/ssl/cert/ssl.pem;
    # 指定私钥文档,请将 /etc/ssl/cert/ssl.key 替换为您实际使用的私钥文件的绝对路径
    ssl_certificate_key /etc/ssl/cert/ssl.key;
    # 配置 SSL 会话缓存,提高性能
    ssl_session_cache shared:SSL:1m;
    # 设置 SSL 会话超时时间
    ssl_session_timeout 5m;
    # 自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置)
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    # 指定允许的 TLS 协议版本,TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差
    ssl_protocols TLSv1.2 TLSv1.3;
    # 优先使用服务端指定的加密套件
    ssl_prefer_server_ciphers on;
    # ======================= 证书配置结束 =======================
   
    # 其它配置
}

# 原有监听 80 端口的 server 块
server {
    listen 80;
    server_name example.com www.example.com;
        
    # 设置HTTP请求自动跳转到HTTPS
    return 301 https://$host$request_uri;
    
    # 原有其它配置
}

再次访问你的网站,应该已经可以了。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注