基于阿里云上实现全站https的正确姿势(一)
对应的网址:https://yq.aliyun.com/articles/65199
摘要: 目前主流大厂的网站和服务都已经实现了全站https, 例如: baidu, taobao, jd等. 关于这方面的好处和优势, 互联网上太多文章在进行介绍. 例如: [为什么我们应该尽快升级到 HTTPS?](https://imququ.com/post/moving-to-https-asa
一些重要的互联网资源参考:
强烈建议通读一下Jerry Qu的关于https, http/2, nginx的blog, 这是我目前发现的在国内的技术文章中, 关于上述的几个知识点讲解的最为全面透彻的文章.
传送门: https://imququ.com/
为什么我们需要实现全站https?
目前主流大厂的网站和服务都已经实现了全站https, 例如: baidu, taobao, jd等.
关于这方面的好处和优势, 互联网上太多文章在进行介绍. 例如: 为什么我们应该尽快升级到 HTTPS?
对于一般的创业型公司, 迫切需要实现全站https的理由:
1. 苹果要求所有iOS应用在年底前默认使用HTTPS连接
2. 微信小程序的开发, 要求必须使用https通信
3. HTTP/2的支持
HTTP2.0其实可以支持非HTTPS的,但是现在主流的浏览器chrome,firefox表示还是只支持基于TLS部署的HTTP2.0协议,所以要想升级成HTTP2.0还是先升级HTTPS为好.
升级之前的准备工作.
SSL的证书类型?
- DV (Domain Validation): 面向个体用户,安全体系相对较弱,验证方式就是向 whois 信息中的邮箱发送邮件,按照邮件内容进行验证即可通过.
- OV (Organization Validation): 面向企业用户,证书在DV证书验证的基础上,还需要公司的授权,CA通过拨打信息库中公司的电话来确认.
- EV (Extended Validation): 在浏览器URL地址栏当中,展示了注册公司的信息,这会让用户产生更大的信任,这类证书的申请除了以上两个确认外,还需要公司提供金融机构的开户许可证,要求十分严格.
需要强调的是,不论是 DV、OV 还是 EV 证书,其加密效果都是一样的!
重要的区别:
1. DV证书的审核速度较快, 由程序完成审核, 一般申请了之后马上就能够完成证书颁发; OV和EV证书审核较慢, 由人工审核, 一般需要数天的时间.
2. EV证书会在浏览器当中显示公司的信息, 通常被称为绿色地址栏, 以增加用户的信任感. 参考如下访问github时, chrome浏览器的显示方式:
3. EV证书**不支持单个泛域名(*.example.com)或者多个泛域名(*.example1.com, .example2.com)*, OV和DV证书则支持.
如何选择?
通常的情况下, 一个处于初创阶段的互联网公司有多少个子系统是很难在前期就界定出来的. 因此, 如果能够无法明确规划出未来有多少个子系统, 需要使用多少个二级域名, 最好购买支持单个或者多个泛域名的证书. 至于是DV还是OV, 我个人觉得不是那么重要.
一些经验总结:
HTTPS网页中加载的HTTP资源被称之为Mixed Content, 不同的浏览器有不同的block http资源的策略, 因此最好提前整理出你的程序依赖的内部http资源, 和外部http资源(统计资源[GA, CNZZ, 百度统计], 第三方分享, 第三方地图服务等). 尤其是外部的http资源, 需要评估是否提供了https的服务.
到哪里获取https证书?
免费资源:
Let's Encrypt: 目前个人站点使用的非常普遍的证书.
特点/限制:- 如果你在使用云服务提供商的CDN或者负载均衡服务(例如阿里云的CDN或者SLB), Let's Encrypt就不太适合了, 阿里云的CDN或者SLB要求在云平台上上传证书的公钥和私钥, 而Let's Encrypt强制90天过期, 虽然我们可以通过自动化的方式renew证书, 但我目前还没有找到比较好的解决方案.
- 只支持单个域名.
阿里云Symantec免费DV证书:
特点/限制:- 赛门铁克-顶级证书颁发机构.
- 1年过期.
- 只支持单个域名.
腾讯云GeoTrust免费DV证书:
特点/限制:- GeoTrust-顶级证书颁发机构.
- 1年过期.
- 只支持单个域名.
基于阿里云上实现全站https的正确姿势(一)的更多相关文章
- 构建基于阿里云OSS文件上传服务
转载请注明来源:http://blog.csdn.net/loongshawn/article/details/50710132 <构建基于阿里云OSS文件上传服务> <构建基于OS ...
- 阿里云上,Ubuntu下配置Nginx,在tomcat中加了https协议就不可以了
问题 阿里云上,Ubuntu服务器,本来部署的是tomcat,并且使用了https 协议.后来为了静态资源分离集成了 nginx,nginx代理跳转到 tomcat.刚开始直接访问http 网址发现, ...
- 云计算之路-阿里云上:在SLB上部署https遇到的问题及解决方法
一.问题场景 这个问题只会出现在云服务器操作系统使用Windows Server 2012的场景,如果使用的是Windows Server 2008 R2则不存在这个问题. 二.https部署场景 1 ...
- 从运维的角度分析使用阿里云数据库RDS的必要性--你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库
开宗明义,你不应该在阿里云上使用自建的MySQL or SQL Server数据库,对了,还有Oracle or PostgreSQL数据库. 云数据库 RDS(Relational Database ...
- 【新手向】阿里云上ubuntu+flask+gunicorn+nginx服务器部署(二)项目部署
本项目实现的是类似于ins的图片分享网站.继续(一),当nginx的配置已修改好后,要在远程服务器上部署网站,只需要几个步骤: 1 前期准备 2 将运行网站的代码从github上下载过来 3 下载依赖 ...
- (二)基于阿里云的MQTT远程控制(购买阿里云,在云端安装MQTT,测试MQTT远程通信)
QQ名称为Friday~的网友把他自己买MQTT的过程截图发给了我,今天就说一下如何购买阿里云,安装MQTT可以参考 http://www.cnblogs.com/yangfengwu/p/77646 ...
- 阿里云上到底能运行SAP哪些产品?
本文主要内容大部分来源于SAP已经发布的note: 2552731 - SAP Applications on Alibaba Cloud: Supported Products and IaaS ...
- go程序基于阿里云CodePipeline的一次devops实践
背景 最近朋友有个项目代码托管用的码云,测试服务器(阿里云ECS)只有一台,三四个人开发,于是想基于阿里云的CodePipeline快速打造一套自动化cicd的流程,使用docker来进行多套环境部署 ...
- 云计算之路-阿里云上:从ASP.NET线程角度对“黑色30秒”问题的全新分析
在这篇博文中,我们抛开对阿里云的怀疑,完全从ASP.NET的角度进行分析,看能不能找到针对问题现象的更合理的解释. “黑色30秒”问题现象的主要特征是:排队的请求(Requests Queued)突增 ...
随机推荐
- Scrapy学习-3-Request回调巧用
基于twisted的异步回调 使得页面爬取有阶段性和连续性 from scrapy.http import Request from urllib import parse def parse(sel ...
- 2017 ACM/ICPC Asia Regional Urumuqi Online 记录
比赛题目链接 Urumuqi
- pyv8的安装和使用:python中执行js代码
pyv8 的作用是在python中执行js代码,然后可以使用js里的变量等内容.python取得javascript里面的值.javascript取得python里面的值.python和javascr ...
- 【Todo】ssh的原理和实践
有空的时候补充,可以参考 http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html http://www.ruanyifeng.com/ ...
- SolidEdge 如何绘制剖视图
如果要创建剖视图,则点击切割平面按钮,然后绘制剖面线,画好之后点击完成 然后点击剖视图按钮,鼠标单击刚才的剖面线,往要的方向拖动,即可生成剖面视图 剖视图有时也需要用到旋转剖视图 如下图所示, ...
- 入手Arduino Yun,配合Blynk搞一波事情
前言 原创文章,转载引用务必注明链接. 最近在闲鱼上与别人用RPi2尸体+好的BBB换了个Arduino Yun,等了几天赶在节前收到了.出奇的轻巧,产地台湾,官方正品做工就是精细~采用5v Micr ...
- 创建一个简单的 http 服务器
创建一个简单的 http 服务器 直接在 目录下运行 当前的目录即可是root 目录 默认端口8000 应该可以加参数修改端口号 Python2 python -m SimpleHTTPServer ...
- weex 项目开发(一) weex create project 与 weex init project 的区别
开发环境配置:http://www.cnblogs.com/crazycode2/p/7822961.html 1. weex create project 与 weex init project ...
- palindrome-partitioning I&II——回文切割、深度遍历
I: Given a string s, partition s such that every substring of the partition is a palindrome. Return ...
- 【转载】读懂IL代码就这么简单(二)
一 前言 IL系列 第一篇写完后 得到高人指点,及时更正了文章中的错误,也使得我写这篇文章时更加谨慎,自己在了解相关知识点时,也更为细致.个人觉得既然做为文章写出来,就一定要保证比较高的质量,和正确率 ...