访问我的网站: https://intbird.net 查看https效果
文章来自:http://blog.youkuaiyun.com/intbird转载请说明出处
caddy v2 自动https 和 Cloudflare https 配置看这里
https://blog.youkuaiyun.com/intbird/article/details/108501270
Centos7 apache httpd配置第三方ssl证书 并 将http替换为https 详细记录
网站为什么要采用https
1.什么是https:
HTTPS 协议是由 HTTP 加上 TLS/SSL 协议构建的可进行加密传输、身份认证的网络协议,主要通过数字证书、加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。设计目标主要有三个。
(1)数据保密性:保证数据内容在传输的过程中不会被第三方查看。就像快递员传递包裹一样,都进行了封装,别人无法获知里面装了什么 [4] 。
(2)数据完整性:及时发现被第三方篡改的传输内容。就像快递员虽然不知道包裹里装了什么东西,但他有可能中途掉包,数据完整性就是指如果被掉包,我们能轻松发现并拒收 [4] 。
(3)身份校验安全性:保证数据到达用户期望的目的地。就像我们邮寄包裹时,虽然是一个封装好的未掉包的包裹,但必须确定这个包裹不会送错地方,通过身份校验来确保送对了地方 [4] 。
2.https缺点:
相同网络环境下,HTTPS 协议会使页面的加载时间延长近 50%,增加 10%到 20%的耗电。此外,HTTPS 协议还会影响缓存,增加数据开销和功耗 [2] 。
HTTPS 协议的安全是有范围的,在黑客攻击、拒绝服务攻击和服务器劫持等方面几乎起不到什么作用 [2] 。
最关键的是,SSL 证书的信用链体系并不安全。特别是在某些国家可以控制 CA 根证书的情况下,中间人攻击一样可行 [2] 。
成本增加。部署 HTTPS 后,因为 HTTPS 协议的工作要增加额外的计算资源消耗,例如 SSL 协议加密算法和 SSL 交互次数将占用一定的计算资源和服务器成本。在大规模用户访问应用的场景下,服务器需要频繁地做加密和解密操作,几乎每一个字节都需要做加解密,这就产生了服务器成本。随着云计算技术的发展,数据中心部署的服务器使用成本在规模增加后逐步下降,相对于用户访问的安全提升,其投入成本已经下降到可接受程度 [4]
1. https原理
HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer)
+
SSL(Secure Sockets Layer)
1.HTTPS
2.SSL
1.自建证书创建:
// 生成私钥
openssl genrsa -out private.key 2048
// 生成csr(Certificate Signing Request)给证书颁发机构的一些信息
openssl req -new -key private.key -out server.csr
// 根据 私钥 生成 服务器密钥
openssl rsa -in private.key -out server.key
// 根据服务器密钥生成服务器证书文件
openssl x509 -req -in server.csr -out server.crt -outform pem -signkey server.key -days 365 -sha256
2.第三方证书申请:
1. 付费:XXX
很多,企业版的不便宜,略~
2. 免费: https://letsencrypt.org/zh-cn/
很多, 有效时间短,但是可以通过脚本(搜github)续约达到长期
如国外大公司联合维护的letsencrypt
3. 我采用的freessl.cn 亚太免费一年: https://freessl.cn/
4. certbot自己申请证书
-
无dns提供商证书申请
一定要添加 www host再进行通配符域名认证
www.intbird.ml *.intbird.mlcertbot certonly --manual \ --preferred-challenges=dns \ -d *.intbird.ml \ -d intbird.ml
-
有dns提供商证书申请
需要在30秒内完成dns的TXT认证
DNS Plugins: