部署 HTTPS 访问 ( https:// )

php基础

浏览数:329

2019-10-9

AD:资源代下载服务

简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。

通过域名在腾讯云获取SSL证书

https://console.cloud.tencent.com/ssl

点击申请证书,即可获取免费申请证书入口

证书一般在十几分钟就可以颁发下来

将证书下载至本地,并存放至C:\phpStudy\Apache\conf\dongxiaodongssl

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:\phpStudy\WWW"
 5     ServerAlias 域名
 6     SSLEngine on
 7     SSLCertificateFile "C:\phpStudy\Apache\conf\dongxiaodongssl\Apache\2_域名.crt"
 8     SSLCertificateKeyFile "C:\phpStudy\Apache\conf\dongxiaodongssl\Apache\3_域名.key"
 9     SSLCertificateChainFile "C:\phpStudy\Apache\conf\dongxiaodongssl\Apache\1_root_bundle.crt"
10 </VirtualHost>

实现自动https跳转

如果需要实现http自动转换为https则需要在网站的根目录(C:\phpStudy\WWW)下建立.htaccess文件

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]

 完成部署

完成部署必须要重启web服务器,使其修改生效

作者:东小东