简单来说, 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, 均不需要加单双引号
- Listen 443
- <VirtualHost *:443>
- ServerName xxx:443
- DocumentRoot "C:\phpStudy\WWW"
ServerAlias 域名
- SSLEngine on
- SSLCertificateFile "C:\phpStudy\Apache\conf\dongxiaodongssl\Apache\2_域名. crt"
- SSLCertificateKeyFile "C:\phpStudy\Apache\conf\dongxiaodongssl\Apache\3_域名. key"
- SSLCertificateChainFile "C:\phpStudy\Apache\conf\dongxiaodongssl\Apache\1_root_bundle.crt"
- </VirtualHost>
实现自动 https 跳转
如果需要实现 http 自动转换为 https 则需要在网站的根目录 (C:\phpStudy\WWW) 下建立. htaccess 文件
- RewriteEngine On
- RewriteCond %{
- HTTPS
- } !=on
- RewriteRule ^(.*) https://%{
- SERVER_NAME
- }/$1 [R,L]
完成部署
完成部署必须要重启 web 服务器, 使其修改生效
来源: https://www.cnblogs.com/dongxiaodong/p/10456665.html