简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。
通过域名在腾讯云获取SSL证书
https://console.cloud.tencent.com/ssl
点击申请证书,即可获取免费申请证书入口
证书一般在十几分钟就可以颁发下来
将证书下载至本地,并存放至C:phpStudyApacheconfdongxiaodongssl
PHPStudy的部署
打开ssl扩展
进入配置文件:
去掉LoadModule ssl_module modules/mod_ssl.so的注释(删除前面的“#”)
添加语句Include conf/vhostssl.conf
在Apache/conf环境下新建vhostssl.conf文件,写入如下内容:
其中域名需要替换为你的域名,如www.baidu.com,均不需要加单双引号
1 Listen 443 2 <VirtualHost *:443> 3 ServerName xxx:443 4 DocumentRoot "C:phpStudyWWW" 5 ServerAlias 域名 6 SSLEngine on 7 SSLCertificateFile "C:phpStudyApacheconfdongxiaodongsslApache2_域名.crt" 8 SSLCertificateKeyFile "C:phpStudyApacheconfdongxiaodongsslApache3_域名.key" 9 SSLCertificateChainFile "C:phpStudyApacheconfdongxiaodongsslApache1_root_bundle.crt" 10 </VirtualHost>
实现自动https跳转
如果需要实现http自动转换为https则需要在网站的根目录(C:phpStudyWWW)下建立.htaccess文件
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]
完成部署
完成部署必须要重启web服务器,使其修改生效