美文网首页前端
Meteor App 完成 https 部署

Meteor App 完成 https 部署

作者: 浮点量化 | 来源:发表于2017-05-25 16:47 被阅读123次

    这篇文章主要是关于如何部署使用 https 的 Meteor App。

    https

    https 主要是解决了三个问题。

    • 身份确认。确保和真正的用户交流
    • 保密。避免别人嗅探通信内容
    • 完整性。避免别人修改内容

    关于要不要使用 https,大家可以看看这段 Google I/O 2016 的演讲(需要翻墙)。演讲者回答了大家普遍担心的 https 会不会影响性能和难以维护的问题。简单的结论就是这些担心已经过时了,https 反而可能会提高性能(例如启用 http/2 只能是 https),维护工作量也很少,证书也可以找到免费的,或者很便宜的。总之,https 一定是一个趋势,甚至你没有敏感数据要保护的情况下,例如一些展示静态信息的网站,也推荐使用 https。

    部署

    我们利用开源工具 mup 来部署 Meteor app,而 mup 又是使用了 docker,所以第一步我们要让服务器能够使用 docker。服务器的设置详见 http://www.jianshu.com/p/e01888b8af8e

    然后我们按照 mup 的文档生成并配置好。和普通 http 设置不一样的是,得把 ROOT_URL 改为 https 的地址,还有添加

    ssl: {
      autogenerate: {
        email: 'youremail@gmail.com',
        domains: 'yoursite.com'
      }
    }
    

    当然还有安装 force-ssl 的包 https://atmospherejs.com/meteor/force-ssl

    这样你的网站就是使用 https 了。这里证书使用的是免费的 Let's Encrypt,然后自动每 30 天更新一次。

    CDN

    如果你的网站引入了 CDN,那么也必须是使用 https。只有少量的浏览器支持两种协议混用的。关于 Meteor app 使用 CDN,可以参考 http://www.jianshu.com/p/98388e50ab0a 。我使用的是七牛的 CDN 服务。之前也用过阿里云的,但是他们的 CDN 在使用 gzip 的时候有问题。七牛提供 TrustAsia 的免费 TLS 证书,但是只能用于七牛 CDN 自身。

    使用的时候注意记得把 mup 配置的 CDN_URL 修改为 https 的地址。另外,七牛验证证书的时候可能需要先在你的域名提供商的配置里解析 txt 记录,在七牛通过验证后再删除 txt 记录,然后再把这个 CDN 域名配置为 cname 记录。

    最后再次 deploy,成功后在浏览器输入你的网址,就会自动跳转到 https 的域名了。最后如果你有其他 REST服务是非 https 的,那么你可以通过后端转一下,这样就可以达到全站 https 了。

    相关文章

      网友评论

      • 积木库:目前是使用阿里云dv的证书,但这个免费的证书在微信浏览器中无法使用,访问不了,实现不了微信公众号https,有没有解决方法?

      本文标题:Meteor App 完成 https 部署

      本文链接:https://www.haomeiwen.com/subject/vugaxxtx.html