当前位置 > it书童 > nginx > 正文

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

nginx it书童 2019-10-05 11:16:47 0赞 0踩 1450阅读 0评论

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

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

申请证书

进入阿里云 ssl 证书页面

点击购买证书

选择免费证书

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

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

然后下载证书

以 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;
}

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

关于我
一个文科出身的程序员,追求做个有趣的人,传播有价值的知识,微信公众号主要分享读书思考心得,不会有代码类文章,非程序员的同学请放心订阅
转载须注明出处:https://www.itshutong.com/articles/271/nginx-uses-alicloud-free-ssl-certificate-to-configure-https