https过程全记录

本文主要记录本博客https化的全部过程。

1. 生成 .key, .csr文件,为 https 证书申请做准备

openssl req -newkey rsa:2048 -sha256 -nodes -out u3xyz_com.csr -keyout u3xyz_com.key -subj "/C=CN/ST=GD/L=SZ/CN=u3xyz.com/emailAddress=jagus.ou@gmail.com"

2. 证书申请 (以阿里云为例)

云盾(安全) -> CA证书服务(数据安全) -> 购买证书

找到免费的DV证书类型,开始申请。申请完成后,补全信息。如果主机和域名使用的是阿里云,建议选择DNS验证。填完后直接提交。刷新申请,直接验证,验证成功,则会收到签发的证书。这时候我们就可以开始配置nginx了

阿里云免费证书 阿里云证书申请2

3. nginx配置

不多说了,直接上配置结果

server {
    listen       443 ssl;
    server_name  u3xyzhttps;

    #HSTS策略,转http请求为https
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains;preload" always;

    #证书文件
    ssl_certificate      cert/u3xyz_com.pem;

    #私钥文件
    ssl_certificate_key  cert/u3xyz_com.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;

    #减少点击劫持
    add_header X-Frame-Options DENY;

    #禁止服务器自动解析资源类型
    add_header X-Content-Type-Options nosniff;

    #防XSS攻擊
    add_header X-Xss-Protection 1;
}

配置完成,重启nginx后,就可以在浏览器中输入网址验证https是否可以访问了。

4. 静态资源https化

因为Https下只能发送Https请求,所以域名下的所有资源都得支持https访问,可以通过配置nginx转发来进行支持,如:

{
    location ^~ /blog/ {
      alias  /path/to/assets/web/;
    }
}

到此,https改造就算完成了,访问页面,前面漂亮的小锁就亮起来了。

参考

证书替换(更新于2019年1月3日)

上次申请的SSL证书有效期为1年,到19年1月份就到期了,阿里云也早早地发了提醒短信。关于SSL证书续期我想补充几个点:

  1. 阿里云SLL证书不能续签,只能重新申请。但重新申请也是免费的,免费的!
  2. 操作非常简单,整个过程10分钟左右就可以完成
  3. 生成CSR文件问题

生成CSR文件问题

我在windows平台使用openssl生成csr及key文件时报错,不能生成csr文件。解决办法是加 //,如上图。

证书签发后,配置nginx,使用新的证书文件,重启nginx即完成ssl证书替换。

ssl证书 检查证书

留言列表

    发表评论: