如何将http://转换成https://
首先简单介绍一下http://和https://
HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
HTTPS的工作原理:
第一步:准备SSL证书
阿里云在域名管理里面会有申请SSL证书的地方,进行申请,过几分钟就会批准,然后下载相应证书,我申请的是免费的SSL证书,apache环境,下载下来一共三个文件:.key,_chain.crt,_public.crt。
文件的名字可以修改,方便以后更新,把三个文件放在C:\phpStudy\PHPTutorial\Apache\conf\ssl目录下,ssl文件可以自己新建,也可以换名字,比如pro,这个文件地址非常重要,后面会有用到。
第二步:开启php_openssl
第三步:配置Apache/conf下的vhosts.conf文件
<VirtualHost _default_:80>
DocumentRoot "C:\phpStudy\PHPTutorial\WWW"
<Directory "C:\phpStudy\PHPTutorial\WWW">
Options -Indexes -FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:\phpStudy\PHPTutorial\WWW\blog"
ServerName www.programman.cn
ServerAlias programman.cn
<Directory "C:\phpStudy\PHPTutorial\WWW\blog">
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:\phpStudy\PHPTutorial\WWW\blogtwo"
ServerName www.sunpro.top
ServerAlias sunpro.top
<Directory "C:\phpStudy\PHPTutorial\WWW\blogtwo">
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
Listen 443
<VirtualHost *:443>
DocumentRoot "C:\phpStudy\PHPTutorial\WWW\blogtwo"
ServerName www.sunpro.top
ServerAlias sunpro.top
SSLEngine on
SSLCertificateFile conf/ssl/ssl/www.sunpro.top.crt/*SSL文件路径*/
SSLCertificateKeyFile conf/ssl/ssl/www.sunpro.top_key.key/*SSL文件路径*/
SSLCertificateChainFile conf/ssl/ssl/ca_bundle.crt/*SSL文件路径*/
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "C:\phpStudy\PHPTutorial\WWW\blog"
ServerName www.programman.cn
ServerAlias programman.cn
SSLEngine on
SSLCertificateFile conf/ssl/pro/www.programman.cn.crt
SSLCertificateKeyFile conf/ssl/pro/www.programman.cn_key.key
SSLCertificateChainFile conf/ssl/pro/www.programman.cn_chain.crt
</VirtualHost>
在打开php_openssl后可能会出现apache无法启动的情况,因为可能出现的情况很多,这里就不介绍了,介绍一下如何检查apache无法启动原因:
win+R输入cmd运行httpd.exe
C:\phpStudy\PHPTutorial\Apache\bin>httpd.exe
如果想改wordpress博客为https://,记得更改config.php,先在设置–>常规,把所有的http改为https,然后在config.php最后面加上下面代码:
/* 强制后台和登录使用 SSL */
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
$_SERVER['HTTPS']='on';
很好,虽然看不懂,但是感觉很高大上的样子