将 Web 应用升级成 HTTPS 一般需要以下几个步骤。
1.获取证书
HTTPS 是由证书认证机构 CA(Certificate Authority)颁发的、并包含公开密钥拥有者信息、公开密钥、签发者信息、有效期以及一些扩展信息、能提供在互联网上进行身份验证的一种权威性数字文件。要保证数字证书的真实性,必须确保该数字证书是由具有权威性的国际 CA 中心签发的,如 Symantec 就是这样一家通过 Web Trust 认证的国际 CA。购买 CA 颁发的证书有很多类型,分为域名认证、公司认证、扩展认证三个级别,还分成单域名、通配符、多域名三种覆盖范围。认证级别越高、覆盖范围越广的证书,价格越贵。
2.在服务器安装证书
可以将证书文件存放在 ect/ssl
目录,然后选择对应的服务器进行配置,使用 Mozilla 便捷的配置生成器
3.重定向配置
将 HTTP 的访问请求 301 到 HTTPS
Nginx
Apache (.htaccess文件)
4.修改资源链接
将站点所有的 HTTP 资源地址替换成 HTTPS,一个比较好的方法是直接将协议头替换成 //
,这样浏览器会自动根据当前页面的协议加载相同协议头的资源,更为灵活。例如:
改为
如果修改不完全,HTTPS 资源和 HTTP 资源混合出现,即页面包含混合内容,浏览器将警告用户已失去 HTTPS 的全部能力(直观的看,地址栏 HTTPS 的标识将处于失效状态)。事实上,如果是主动混合内容(脚本、插件、CSS、iframe),则浏览器通常根本不会加载或执行此内容,从而导致页面残缺。
5.可以进一步保证安全:设置 Cookie 安全标记
如果用户的身份验证 Cookie 在明文中暴露,则整个会话的安全保障将被破坏,因此,应该确保浏览器只在使用 HTTPS 时,才发送 Cookie。
在网站响应头里面,Set-Cookie字段加上Secure标志即可。
迁移成为 HTTPS 后,也不必过分担心额外的性能开销问题。HTTPS 和 HTTP 相比,在 TCP 三次握手的基础上,还多了 SSL 握手的过程,也叫SSL延迟。当总体内容和应用层性能优化得当时,这些都是小问题了。
CMS(Content Management System)是网站内容管理系统简称, 互联网上每个网站(无论大小门户)其后台都由专业CMS系统支撑- Zoomla!逐浪CMS作为国内高端CMS与WEB应用典范,首创第3代CMS理念,专注底层核心技术研发,以云技术、创新精神构建行业新成就,提供从网站内核到电商、办公、移动一体化的开发体验!