打开PHPstudy php扩展设置,在php_openssl上点击打钩。
打开修改httpd.conf配置文件
打开找到#LoadModule ssl_module modules/mod_ssl.so,去掉前面的注释符#(保证前面没有#号),使得ssl模块生效。
再找到Include conf/vhosts.conf
在他下面增加一行Include conf/vhostssl.conf
保存好后,将apache目录下的conf目录下的vhosts.conf复制到其他地方改名为vhostssl.conf
(注意必须是复制,不要新建)再将里面的内容替换为:
Listen 443
DocumentRoot "C:\myphp_www\PHPTutorial\WWW"
ServerName www.test.com
ServerAlias test.com
SSLEngine on
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLCertificateFile "C:\myphp_www\PHPTutorial\Apache\cert\2_www.test.com.crt"
SSLCertificateKeyFile "C:\myphp_www\PHPTutorial\Apache\cert\3_www.test.com.key"
SSLCertificateChainFile "C:\myphp_www\PHPTutorial\Apache\cert\1_root_bundle.crt"
Options +Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
部分代码被屏蔽,参照下图补全
其中
SSLCertificateFile 是指证书公钥
SSLCertificateKeyFile 是指证书私钥
SSLCertificateChainFile
上面3个就是分别对应ssl证书放置的位置,请看下一步说明。
DocumentRoot和Directory中的 "C:\myphp_www\PHPTutorial\WWW"这是网站路径根据自己的
ServerName和ServerAlias换成自己的域名.(必须是申请证书的域名)
改好后保存复制到conf目录中,重启apache即可, 如果是多站点需要配置ssl证书,只需在vhostssl.conf中添加 >到的代码到后面即可.记得修改相应参数.
如果不成功
在Apache目录下新建cert目录放入下载下来的Apache环境的ssl证书;如图;
然后重启Apache即可。
细节配置;防火墙不要拦截443端口;
实现访问http自动转跳到https上
在.htaccess文件里加入如下代码
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R]
如图
即可