Nginx配置SSL证书启用Https

Eric 2021年06月20日 753次浏览

没有证书的 http 域名访问提示不安全,推荐使用 https 访问网站提升安全性。

购买证书

阿里云可以申请免费证书,个人实名用户可免费购买 DV单域名证书,证书有效期一年,过期后重新购买配置。一个用户可免费购买20个免费证书,满足个人大部分需求。

具体购买方式可登录阿里云控制台,产品里搜索 ssl证书 根据功能菜单购买即可。详细步骤不再赘述。

同样腾讯云也有相应的产品提供,具体参考产品介绍。

Nginx SSL证书配置

Nginx 具体配置如下:

server {
    listen 443 ssl;
    server_name tersor.com www.tersor.com;
    # root /opt/public/eric_blog;
    index index.html index.htm;
    ssl_certificate  cert/xxx.pem;
    ssl_certificate_key cert/xxx.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1;
    }
}

HTTP 自动跳转 HTTPS

大部分时间输入的时候都是直接输入域名,如 tersor.com,为保证正常链接跳转,通过 Nginx 配置可自动把 http 转到 https。

config文件具体配置如下:

server {
    listen 80;
    server_name tersor.com www.tersor.com;
    rewrite ^(.*) https://$server_name$1 permanent;
}

当然,也可以做一个空白首页,将请求转发到https地址