nginx 使用阿里云免费 ssl 证书配置 https

现在的域名,不加上 https 都不好意思出来混了,没有 https 的网站总感觉是在裸奔。

对于个人站长,自然是不愿意花大价钱去买ssl证书,肯定是找免费的证书。本文以阿里云为例,演示如何申请ssl证书

申请证书

进入阿里云 ssl 证书页面

点击购买证书

image

选择免费证书

image

购买成功后需要验证,一般选择 dns 验证即可

验证成功后需要等一会才能部署,可能需要几个小时

然后下载证书

image

以 nginx 为示例,将下载后的文件解压放到 nginx 配置文件同级目录

配置 nginx

阿里云有详细的 nginx 配置文档,详情参阅

以下是我的站点 https://www.itshutong.com 的配置示例

server {
    listen 443 ssl;
    server_name www.itshutong.com itshutong.com;
    if ($http_host = itshutong.com) {
        rewrite (.*) https://www.itshutong.com$1;
    }
    root web;
    index index.html index.htm index.php;

    # 证书的存放路径
    ssl_certificate   2925181_www.itshutong.com_nginx/2925181_www.itshutong.com.pem;
    ssl_certificate_key  2925181_www.itshutong.com_nginx/2925181_www.itshutong.com.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;
    include enable-php.conf;
    location / {
        index  index.php;
        try_files $uri $uri/ /index.php?$query_string;
    }
}

# 80 端口转发到 https
server {
    listen 80;
    server_name itshutong.com;
    rewrite ^(.*)$ https://www.$host$1 permanent;
}

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

必须确保站点的所有链接,包括 js css 图片等都是 https,浏览器上才会有小锁标识

原文 https://www.itshutong.com/271.html

你可能感兴趣的:(nginx 使用阿里云免费 ssl 证书配置 https)