如何使用阿里云免费SSL证书实现全站HTTPS化

博客 · 本文由 · ITer · 发布于 3月前 · 547 阅读

场景

网站 https 已经成为一种趋势,那么作为个人站长如何用廉价的方式使自己的网站实现 https?阿里云推出了免费 SSL 证书,是众多个人站长的福音,那么我们就以阿里云作为示例,来演示一下如何实现全站 https 。

购买免费的 SSL 证书

推荐在域名购买的账户进行购买SSL证书(可以免去很多认证的步骤)。

注意啊,上面可不是让你买收费证书。因为免费证书默认看不到,请按图中红字和箭头进行选择: 1. 先选Symantec 2. 选1个域名

就会变成下图了

然后购买完成即可。详细申请步骤

nginx 配置

在证书控制台下载 Nginx 版本证书。下载到本地的压缩文件包解压后包含:

在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为a.key;

打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到:

# HTTPS server
# #server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
# location / {
#
#
#}
#}

将其修改为 (以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) :

server {
 listen 443;
 server_name www.yii-china.com;
 ssl on;
 root /var/www;    # 项目根目录
 index index.php index.html index.htm;

 location / {
     try_files $uri $uri/ @rewrite;
 }

location @rewrite {
    rewrite ^(.*)$ /index.php$1 last;
}

 ssl_certificate   cert/a.pem;
 ssl_certificate_key  cert/a.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 ~ \.php {
            fastcgi_pass 127.0.0.1:9000;
            include fastcgi_params;
            fastcgi_split_path_info ^(.+?\.php)(.*)$;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_REANSLATED $document_root$fastcgi_path_info;
        }

}

然后设置一下http 自动转 https

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

以上操作即可实现全站 https 。

评论数量:4

@ITer 都是单域名的吧,似乎没有免费的泛域名证书。而且搞这个配置nginx要折腾些时间。那些什么pem文件我早就不知道扔那去了。

3月前 回复

@kittyfamous 挺快的啊,站点昨天刚切掉,2小时就好了,个人站来说单域名够了

3月前 回复

@ITer 为什么不搞视频在线网站了?

纯文字的浏览量很难上去的。

3月前 回复

@kittyfamous 视频还在考虑怎么弄,设计中,后面会推出的

3月前 回复