申请 SSL 证书 --Nginx 配置Https 最佳实践

前沿 : 谷歌从 2017 年起,Chrome 浏览器将也会把采用 HTTP 协议的网站标记为「不安全」网站;苹果从 2017 年 iOS App 将强制使用 HTTPS;在国内热火朝天的小程序也要求必须使用 HTTPS 请求。同时,火狐等主流浏览器同样的响应了此号召。

SSL证书类型

通常来说,SSL 证书分为三大类,他们的安全性是递增的,当然价格和安全系数成正比。 DV (Domain Validation Certificate) DV证书适合个人网站使用,申请证书时,CA 只验证域名信息。几分钟之内就能签发。 OV ( Organization Validation Certificate) OV 证书需要认证公司的信息。1-2天签发。 EV ( Extended Validation Certificate) EV 证书的认证最为严格,一般会要求提供纸质材料。签发时间也较久。

国内申请SSL证书的渠道

目前丢丢哥所知道的申请免费的渠道有两个,一个是国内有名的“云存储”平台 -- 七牛 另外一个就是阿里巴巴旗下的阿里云了。

一、七牛申请SSL证书

1.七牛证书申请说明

2.根据引导完成设置后将 证书内容密钥 复制下来存成文件
复制出来 如图:

SSL证书下载

3.然后(如果文件、目录不存在要自行创建):
将第一部分内容复制到/var/cert/lvchang.crt文件中!
将第二部分内容复制到/var/cert/lvchang.key文件中!

4.为了确保更强的安全性,我们可以采取迪菲-赫尔曼密钥交换
进入/var/cert/目录并生成一个lvchang.pem

cd /var/cert/  
openssl dhparam -out yunfeng365.pem 2048  
# 如果你的机器性能足够强大,可以用 4096 位加密

5.生成完毕后,进行Nginx配置!
nginx配置文件目录中(/etc/nginx/sites-available)新增文件:

blog8090.com.conf  
www.blog8090.com.conf  

blog8090.com重定向到https://www.blog8090.com

server {  
        listen 80 default_server;

        server_name blog8090.com;

        return 301 https://www.blog8090.com$request_uri;
}

https://www.blog8090.com配置ssl

server {  
        listen 443 ssl;

        root /data/diudiu/blog;
        index index.php index.html index.htm;

        server_name www.yunfeng365.com;

        # ssh配置
        ssl on;
        ssl_certificate /var/cert/lvchang.crt;
        ssl_dhparam /var/cert/lvchang.pem;
        ssl_certificate_key /var/cert/lvchang.key;

        ssl_session_timeout 5m;

        ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
        ssl_prefer_server_ciphers on;

        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

        # php配置
        location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                include fastcgi_params;
        }

}

6.配置完成后,执行以下命令创建软链接使配置加载:

cd /etc/nginx/sites-enabled  
ln -s /etc/nginx/sites-available/www.blog8090.com  
ln -s /etc/nginx/sites-available/blog8090.com  

重启Nginx使配置生效!

service nginx restart  

访问如图:

访问

本文为作者原创,手码不易,允许转载,转载后请以链接形式说明文章出处. 如转载但不标明来源,后果自负。

您的支持是对我最大的鼓励!