php 改成 https,如何将HTTP网站转换成HTTPS站点

本文介绍了SSL(Secure Socket Layer)协议的作用,它用于加密HTTP协议与TCP协议间的通信,确保数据安全。SSL依赖于数字证书和公钥/私钥对来建立安全通道。转换HTTP网站到HTTPS的步骤包括:配置nginx与SSL证书,处理网站前端细节以支持无痛切换,以及调整后台代码以消除安全验证。完成这些步骤后,网站将能够安全地使用HTTPS协议。
摘要由CSDN通过智能技术生成

一:什么是https

SSL(Security   Socket   Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安全性,同时SSL安全机制是依靠数字证书来实现的。

SSL基于公用密钥和私人密钥,用户使用公用密钥来加密数据,但解密数据必须使用相应的私人密钥。使用SSL安全机制的通信过程如下:用户与IIS服务器建立连接后,服务器会把数字证书与公用密钥发送给用户,用户端生成会话密钥,并用公共密钥对会话密钥进行加密,然后传递给服务器,服务器端用私人密钥进行解密,这样,用户端和服务器端就建立了一条安全通道,只有SSL允许的用户才能与IIS服务器进行通信。

1f31543ef4b4305953d85e8a73b7dadb.png

提示:SSL网站不同于一般的Web站点,它使用的是“HTTPS”协议,而不是普通的“HTTP”协议。因此它的URL(统一资源定位器)格式为“https://网站域名”。

二:HTTP网站转换成HTTPS站点

第一步:nginx 搭配 ssl。

https 现在已经有免费的证书资源可用了。参考 https://www.baidufe.com/item/ed5324e20e555d938ca8.html ,简直良心制作。

第二步:处理网站前端细节。

把所有的静态文件引用,表单提交指向,统统去掉协议名,改成和特定协议无关(可以保证http和https无痛切换)。

引用的第三方的静态资源或者其他服务的,统统也改成和特定协议无关的形式,如果第三方不提供 https 服务,统统干掉。

第三步:后台代吗(如:wordpress)特别处理。

参考原则同上。干掉后台代吗对 https 相关的安全验证,让后台仅仅提供跟协议无关的服务。所有的安全把关,交由 nginx 处理。

wordpress 为例,升级 https 之后, wp-login.php 迷之跳转,总是跳转到自己。

原因: Browser ----https----> Nginx ----intra-proxy----> PHP(wordrepss)。

此时Wordpress 的代码是要做 https 验证的,然而 Nginx 和 PHP(wordpress) 之间不是 https 的,于是就要求 redirect 到 https,

Wordpress 处理方式参考 https://shimo.im/doc/59lBf6oYzP0TWVGV

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值