证书

  • 我的证书(该站主域名)是阿里云直接申请的,Semantic 的免费证书,十几分钟就可以审核完成,可以选择阿里云自动生成私钥或者自己生成

配置Nginx

SSL 配置文件

  • 这段配置可以直接写在/etc/nginx/conf.d/xxx.conf 里面
  • 新版的nginx好像有个 ssl.conf 文件,写在那里面应该也可以
  • 因为这个博客是typecho写的,所以里面包含对 php 请求的处理
server {
    listen       443 ssl http2 reuseport;
    server_name  savokiss.com www.savokiss.com;

    ssl_certificate /etc/nginx/cert/xxx.pem;
    ssl_certificate_key /etc/nginx/cert/xxx.key;
    ssl_session_cache shared:SSL:1m;
    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;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
        root /usr/share/nginx/html/blog;
    index index.html index.htm index.php;
    }

    location ~ \.php(\/.*)*$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME   /usr/share/nginx/html/blog$fastcgi_script_name;
        include        fastcgi_params;
    }


    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

80端口配置文件

  • 如果要启用301 重定向的话,80端口直接跳转就可以了
  • 主要是下面这几句,其他的地方都无所谓
server {
    listen       80;
    server_name  savokiss.com  www.savokiss.com;
    rewrite ^(.*) https://savokiss.com$1 permanent;
}

重启Nginx

  • 由于我用的是 CentOS,所以重启命令如下:
sudo nginx -s reload