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改造就算完成了,访问页面,前面漂亮的小锁就亮起来了。

参考

留言列表
  • MeloGuo:
    请问,pubSub中的$uid是做什么用的?
    • u3xyz:
      主要用于实现取消订阅功能,类似 pubsub.off(type, fn),通过fn.$uid定位要删除的回调函数
      2018年08月23日 10:08
    2018年08月21日 20:53 回复

发表评论: