HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer)是超文本传输安全协议的英文翻译缩写,它是以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS在HTTP的基础上加入了SSL/TLS层,利用SSL/TLS建立全信道加密数据包,从而保证了数据的安全,其提供对网站服务器身份认证的功能,保护交换数据的隐私与完整性。
为什么要用https?
我们自己在服务器部署的网站,访问时都是http协议,而https需要单独申请证书。
http协议是明文传输的,如果使用抓包工具,会发现传输内容都是不加密的。
而https传输内容是加密的,即使信息被拦截,也需要解密才能查看传输内容,比较安全。
HTTPS的安全基础是SSL/TLS,因此加密的详细内容需要SSL/TLS。HTTPS使用TCP端口443,其数据会用PKI中的公钥进行加密,以提高安全性。一些安全性较高的网站,如网上银行和电子商务网站,通常使用HTTPS进行访问。
如何部署https?
配置HTTPS涉及多个步骤,以下是配置HTTPS的简要指南:
1)准备工作:
- 确保服务器已安装并配置好Web服务软件,如Nginx、Apache等。
- 获取一个已备案的域名,并确保该域名指向你的服务器。
- 获取一个有效的SSL证书和私钥。你可以从证书颁发机构(CA)购买证书,或者使用免费的证书服务,如Let's Encrypt。
2)开放443端口:HTTPS使用443端口进行通信,确保你的服务器防火墙已开放该端口。
3)安装SSL证书和私钥:
- 将下载的SSL证书和私钥文件上传到服务器上的适当位置。
- 根据你使用的Web服务软件,配置证书和私钥的路径。
4)配置Web服务软件以使用HTTPS:
- 打开Web服务软件的配置文件。
- 在配置文件中,找到与HTTPS相关的部分,并启用HTTPS监听。
- 配置SSL证书和私钥的路径。
- 根据需要配置其他HTTPS选项,如重定向HTTP请求到HTTPS。
5)保存并重启Web服务软件:保存配置文件后,重启Web服务软件以使更改生效。
6)验证配置:
- 使用浏览器访问你的域名,并检查地址栏是否显示为HTTPS。网站开启https后,在浏览器访问,可以看到锁,显示连接安全
- 检查SSL证书的有效性,确保没有错误或警告信息。
请注意,具体的配置步骤可能因你使用的Web服务软件、操作系统和证书颁发机构而有所不同。因此,在进行配置之前,建议查阅相关文档或参考特定于你的环境的教程。
此外,为了确保HTTPS的安全性,你还需要定期更新和维护SSL证书,以及保持Web服务软件和操作系统的安全性更新。
查看网站安全性和证书
在F12,安全性,可以查看网站是否安全
可以看到证书的颁发者,拥有者,证书有效期,证书公钥。证书签名算法 使用 RSA 加密的 PKCS #1 SHA-256。
证书有效期及失效
免费证书通常是 1 年有效期, 到期需要重新申请证书并更新到 Nginx 服务中, 到期未更新则访问网站时锁的图标会加一个斜线表示不安全.
如下图,可以看到这个网站的https过期了,访问时,edge浏览器会进行提示,不让访问。
使用谷歌浏览器,可以强制访问。从安全处可以擦看,显示不安全网页,https已遭到破坏。
现在是2024.3.13下午6点,这个证书有效期到下午4点多,已经过期了。需要重新申请,配置证书。