首先,确保你的Apache编译了SSL模块,这是支持SSL证书必要的条件(若是没有,请编译,【打开phpstudy】》【其余选项菜单】》【PHP扩展】》【php-openssl】前面勾选上)。php
在Apache的安装目录下建立cert目录,而且将下载的所有文件拷贝到cert目录中。apache
打开 Apache 安装目录下 conf 目录中的 httpd.conf 文件,找到如下内容并去掉前面的“#”注释符,使得SSL模块生效(若是该模块已去掉注释,请不用操做)。浏览器
接着搜索如下内容:【Include conf/vhosts.conf】,在其下面增长一条引用内容:【Include conf/vhostssl.conf】,以下图所示安全
Apache 安装目录下 conf 文件夹中建立一个vhostssl.conf配置文件。能够复制httpd.conf文件另存为vhostssl.conf,按照80的配置,另起一个VirtualHost443,vhostssl.confide
Listen 443网站
<VirtualHost *:443>ui
DocumentRoot "D:\WWW\WEBMULU"ip
ServerName www.example.comssl
ServerAlias example.comopenssl
SSLEngine on
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLCertificateFile "D:\phpStudy\Apache\cert\public.pem"
SSLCertificateKeyFile "D:\phpStudy\Apache\cert\21564852664745.key"
SSLCertificateChainFile "D:\phpStudy\Apache\cert\chain.pem"
<Directory "D:\WWW\WEBMULU">
Options +Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
注意:其中的域名信息替换成所申请SSL证书绑定的域名,SSLCipherSuite、SSLCertificateFile、SSLCertificateKeyFile、SSLCertificateChainFile,结合所申请的SSL证书给的配置信息与本身所建立的cert证书目录来配置;vhostssl.conf文件名没有限制要求,能够根据本身的想要的从新命名,不过必定要跟httpd.conf 文件中引用的文件名称同样!
重启apache(有可能报错,看一下443端口是否被防火墙拦截或被占用);Apache正常重启后,在浏览器里面输入带有https的网址就能看到安全锁出来啦;最后备份好您的SSL证书!
配置完SSL证书,咱们须要进行站点301重定向,将http的地址强制跳转到https地址,Apache环境下,在站点根目录添加.htaccess文件,如图所示
在.htaccess文件中添加如下内容:
RewriteEngine onRewriteBase /RewriteCond %{SERVER_PORT} !^443$RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
而后保存文件,并将文件上传到网站根目录,如图所示