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

参考

留言列表
  • ewr:
    eqr
      2018年09月21日 09:17 回复
    • 小王:
      你好,请问一下,官网demo 跑起来了,但是用浏览器http://localhost:8080.一直加载不出来是怎么回事呢?
        2018年09月20日 14:50 回复
      • dk:
        请教博主一点问题,目前我的ssr项目已基本完成开发,但不知如何部署到虚拟服务器centos7中,具体的问题是不懂需要将哪些代码上传到服务器并使用pm2来启动项目.希望博主有空回答下,谢谢.
        • u3xyz:
          你好,其实这个问题与“hp5”的问题有点类似,你可以看下那个回复,理论上构建生成的所有前端资源文件都会用到,都需要放到服务器
          2018年09月11日 21:47
        2018年09月11日 20:18 回复
      • hp5:
        你好,vue-ssr开发基本没什么问题,但是不知道如何部署,希望请教一下,上线部署时,需要将那些文件给后端,希望博主有时间回复一下,谢谢。
        • u3xyz:
          你好,所谓VueSSR,本质是在前后端共用一套js代码,在Node环境下直接吐出页面的过程。SSR一定是在Node环境 ,这个与Java,php等传统后端没什么关系(后端只提供数据接口),也就谈不上要给他们什么文件了,独立部署即可。
          2018年07月25日 10:36
        2018年07月24日 13:10 回复
      • lgf:
        我的项目是vue-cli 然后 实现ssr seo渲染
          2018年07月03日 19:07 回复
        • lgf:
          你好,我现在也是有SEO需求,SSR做,在浏览器打开的时候显示网页源代码可以看到详细的html,增加百度搜索更多的关键子,现在我ssr还是不太能行,用了个prerender-spa-plugin,但是这个插件问题太多,你这篇文章我看了一遍我实现有点困难,(比较菜) 有没有再详细点的教程呢 需求比较着急,所以问问您还有再详细点的demo吗
          • u3xyz:
            推荐多参考官方Demo: https://github.com/vuejs/vue-hackernews-2.0/
            2018年07月25日 10:28
          2018年07月03日 19:05 回复
        • 小白白:
          刚开始研究 我有一个问题 开发过程中我修改代码 就要重新打一次包么?怎么实现热更新啊 希望指点一下
            2018年06月29日 11:40 回复
          • 木メメ木+大:
            你好,发现你的博客的一个现象:比如在第二页点击进入详情,然后按下浏览器返回,就回到第一页,这个是博主刻意为之的吗? 另外特别想请教一下,左右目录联动的实现~
            • u3xyz:
              第一个问题:你是说在第二页的文章返回时默认到了第一页吗?这个不是刻意为之,算小bug吧 第二个问题:可以参看我的文章《如何实现markdown文章标题导航》
              2018年06月28日 12:33
            2018年06月27日 11:46 回复
          • 昌子:
            最近在做ssr,前面过程很顺利,到后面npm run build时,会爆出一个elementUI的样式错误,搞了好几天了还是无头绪,有时间帮忙看下吗?项目急上线
            • u3xyz:
              这个得你自己想办法解决哈
              2018年06月28日 12:31
            2018年06月26日 22:56 回复
          • meme:
            不太懂服务端,骨架屏倒是实现了,ssr看了好多,明白大致流程,就是对服务端不太了解,首先阿里买个云主机,然后你用sheel 连接ssh 登录 起一个www服务器,那么数据库放哪里呢,怎么就线上也能用了?还有node 服务放哪里,还有比如我是node写的接口,怎么弄呢。最近又看了 nginx 是说可以静态资源转发,不太明白其中的流程。期望大佬,写篇文章。或者私信一下。谢谢了
            • u3xyz:
              可以看看文章中的服务器部署模块。我只用了一台阿里云主机,node服务,nginx,数据库都是在这台机器上
              2018年06月28日 12:30
            2018年06月26日 21:10 回复
          • PlainHeart:
            作者,您好,我最近刚开始研究这个,按照您的文档我并不能实现功能,希望在配置上能给予一些更详细的帮助,谢谢!
            • u3xyz:
              首先,得耐心一点,我也不是一下就很顺利得做出来了,那里有问题就想办法解决。此文章也只是列出了关键步骤,并不是所有的步骤。建议多研究官方示例vue-hackernews-2.0,或者试试Nuxt.js
              2018年06月28日 12:28
            2018年06月23日 17:55 回复
          • ljc:
            你好,本人刚接触vue-ssr,开发的时候基本没什么问题,但是不知道如何上线部署,想请教一下,上线部署的时候 ,需要把哪些文件给后端呢,希望博主有时间回复一下
            • u3xyz:
              你好,回复已经单独发qq邮箱(7048***)
              2018年04月21日 00:56
            2018年04月20日 15:33 回复

          发表评论: