MENU

博客开启 https 和 gzip

September 1, 2017 • Read: 509 • Linux

进入阿里云控制台,“安全(云盾)”下的“证书服务”,点击购买证书,选择免费型 DV SSL;购买成功后补全信息,择系统生成 CSR以及DNS 验证方式,提交审核;稍等片刻审核通过,在订单列表中点击下载,选择下载nginx证书;将下载的文件上传至服务器;压缩文件包含.key和.pem文件,放到指定文件夹,例如/etc/nginx/conf.d/wangxs_cn_ss;。

打开nginx配置文件,将之前的listen 80;替换为以下配置:

listen                    443;
server_name               wangxs.cn;
ssl                       on;
ssl_certificate           /etc/nginx/conf.d/wangxs_cn_ssl/214244188290830.pem;
ssl_certificate_key       /etc/nginx/conf.d/wangxs_cn_ssl/214244188290830.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;

并将之前的www跳转到non-www的配置修改为:

server {
    listen                    80;
    server_name               wangxs.cn www.wangxs.cn;
    return 301 https://wangxs.cn$request_uri;
}

但是请求https://www.wangxs.cn没有跳转到https://wangxs.cn/,还需要增加以下配置:

server {
    listen                    443;
    server_name               www.wangxs.cn;
    ssl                       on;
    ssl_certificate           /etc/nginx/conf.d/wangxs_cn_ssl/214244188290830.pem;
    ssl_certificate_key       /etc/nginx/conf.d/wangxs_cn_ssl/214244188290830.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;

   return 301 https://wangxs.cn$request_uri;
 }

在阿里云控制台安全组增加443端口的配置。

重启nginx;分别请求http://wangxs.cn、http://www.wangxs.cn、https://www.wangxs.cn都会转到https://wangxs.cn。

在nginx.conf中配置gzip:

gzip on;
gzip_min_length 1k;
gzip_comp_level 6;
gzip_vary on;
  • gzip_min_length表示文件大于1k才会压缩,因为太小的文件可能越压越大;
  • gzip_comp_level表示压缩等级,1 压缩比最小处理速度最快,9 压缩比最大但处理最慢(传输快但比较消耗cpu)
Last Modified: July 21, 2019