利用腾讯云免费证书打造全https站

什么是https?


超文本传输安全协议(Hypertext Transfer Protocol Secure,缩写为HTTPS)是一种网络安全传输协议
httpHTTP协议运行在TCP之上,所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份
httpsHTTP运行在SSL/TLS之上,SSL/TLS运行在TCP之上,所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。HTTPS通过TLS层和证书机制提供了内容加密、身份认证和数据完整性三大功能,可以有效防止数据被查看或篡改,以及防止中间人冒充,相比http而言更安全,越来越多的网站选择了全站 HTTPS

如何搭建https?


通过腾讯云申请免费的SSL证书,为期一年,申请地址:https://console.qcloud.com/ssl
我就不废话了,直接上图如下:

注意:域名这里我们填的是二级域名,因为腾讯云仅支持单个非顶级域名的证书申请,如果我们有多个子域需要申请多次

DNS验证可以选择自动和手动,如果自动失败的话可以再手动验证,手动验证操作如下,自动验证通过可无视,查看证书详情,看到如下信息:

这里以DNSPOD解析为例,其他解析服务基本一样,主机记录就是上图标记①中内容,记录类型选择CNAME记录值选择上图标记②的内容,点击保存,然后等差不多一分钟左右证书就申请下来了:

配置的话请参考证书安装指南,需要上传到服务器

配置htaccess


此时我们访问我们的网站可以发现加https和不加https都可以访问到,那么如何强制把网站重定向到https页面中去了,也就是接下来要说到的htaccess文件了,可以用来重定向页面
我们在服务器根目录下新建一个.htaccess文件,然后往其中添加以下几行就会自动定向到https中去

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

当然如果你需要你每个子域都重定向到https页面中去,那么可以在每个子域的根目录下添加上面的.htaccess文件,暂时我选用的就是这个笨办法
此时你可以发现直接重定向到https页面了,但是由于之前引用的微博图床的图片因为是http协议,所以控制台会报错,提示Mixed Content错误信息。如果图片是直接输出到页面中的话,因为微博图床也支持https引用,所以我们可以修改http协议为https,此时控制台就不会再报错了。如果图片信息是从数据库里获取的话,我们可以在mysql执行以下命令批量修改

update table set imgSrc=REPLACE(imgSrc,'http:','https:')

但是我建议的是不直接使用https,而是采用无协议头的用法,也即引用大多数CDN所使用的方法
好了,到此全站https的启用就完成了,你会发现访问我的网站时浏览器地址栏都加了一把小锁了

参考资料:
超文本传输安全协议
Redirect HTTP to HTTPS automatically
25个有用.htaccess技巧
21个非常有用的.htaccess提示和技巧


luckyw
博客文章
677 声望
33 粉丝
0 条评论
推荐阅读
本地存储——Cookie与Web Storage
html5标准中的Web Storage包括了两种存储方式:sessionStorage和localStoragesessionStorage用于本地存储一个会话中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessio...

luckyw阅读 2.2k评论 1

Android安全之Https中间人攻击漏洞
HTTPS,是一种网络安全传输协议,利用SSL/TLS来对数据包进行加密,以提供对网络服务器的身份认证,保护交换数据的隐私与完整性。中间人攻击,Man-in-the-middle attack,缩写:MITM,是指攻击者与通讯的两端分别创...

YAQ御安全阅读 5.3k

拒绝裸奔,为 Elasticsearch 设置账号密码(qbit)
前言2019 年 5 月 21 日,Elastic 官方博客发文称,ES 6.8 和 7.1 免费开放基本的安全功能。包括: {代码...} 铭毅天下解读: Elasticsearch 7.1免费安全功能全景认知阮一鸣《Elasticsearch核心技术与实战》有对...

qbit阅读 6.4k

gitlab-ce将https修改为http
索性我们禁用gitlab的https功能,将期恢复为http。后期我们再在部署一个nginx进行数据转发,然后在nginx上起用https并设置证书。这样应该就规避了gitlab的证书错误问题。

myskies1阅读 617

腾讯 Light 技术公益创造营 评选规则
由腾讯基金会、中国互联网发展基金会主办,腾讯技术公益、腾讯守护者计划、腾讯云智能、腾讯优图实验室、腾讯加速器、腾讯WETEST、腾讯云开源联合承办的腾讯Light·技术公益创造营。

思否编辑部阅读 762

gitlab-ce使用nginx做反向代理的方式启用https
由于某些未知的原因,gitlab-ce的https近期出现了问题,被chrome识别出是非安全的连接。索性我们将了gitlab-ce的https改为http。但当下https基本上已经成为了标准,不启用https好像有点说不过去。

myskies阅读 744

新周期重构地产与物业数智化价值,TVP行业大使有话说
新周期下,地产与物业如何重构数智化价值、助力企业穿越周期?9 月 16 日,由腾讯云 TVP、腾讯云智慧地产、长城物业联合主办,以“后疫情时代——重构地产与物业数智化价值”为主题的 TVP 行业大使地产闭门会在深圳市...

腾讯云开发者阅读 725

封面图
677 声望
33 粉丝
宣传栏