打开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]

如图

即可