为Nginx配置 SSL 证书 + 搭建 HTTPS网站

1. 背景
谷歌从 2017 年起,Chrome 浏览器将也会把采用 HTTP 协议的网站标记为「不安全」网站;苹果从 2017 年 iOS App 将强制使用 HTTPS;在国内热火朝天的小程序也要求必须使用 HTTPS 请求。

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


这里推荐去[七牛]申请免费SSL证书
这里是七牛证书申请地址
这里是七牛证书申请帮助

完成后将证书上传到服务器/var/cert/目录下(如果文件、目录不存在要自行创建):

$ ls /var/cert

yunfeng365.com.crt
yunfeng365.com.key

接下来,进行Nginx 配置
在nginx配置文件目录中(/etc/nginx/sites-available)新增文件:

yunfeng365.com
https.yunfeng365.com

yunfeng365.com 配置80端口301跳转

server {
        listen 80 default_server;

        # Make site accessible from http://localhost/
        server_name yunfeng365.com;
        server_name www.yunfeng365.com;
        return 301 https://www.yunfeng365.com$request_uri;
}

https.yunfeng365.com配置ssl

server {
        listen 443 ssl;

        root /var/www/blog/public;
        index index.php index.html index.htm;

        # Make site accessible from http://localhost/
        server_name yunfeng365.com;
        server_name www.yunfeng365.com;

        # ssh配置
        ssl on;
        ssl_certificate /var/cert/yunfeng365.crt;
        ssl_dhparam /var/cert/yunfeng365.pem;
        ssl_certificate_key /var/cert/yunfeng365.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;
        }

}

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

cd /etc/nginx/sites-enabled
ln -s /etc/nginx/sites-available/https.yunfeng365.com
ln -s /etc/nginx/sites-available/yunfeng365.com

如遇权限问题请使用sudo!

重启Nginx使配置生效!

service nginx restart
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容