Windows 下apache https配置(phpstudy)

时间:2022-12-18 04:53:13

1.首先获取证书,https://www.pianyissl.com/  免费三个月的

Windows 下apache https配置(phpstudy)

或者

自己生成私钥、证书,然后应用到apache中。

讲解了如何在windows PHPStudy Apache 配置支持HTTPS

http://www.cnblogs.com/best-jobs/p/3298258.html

简单明了地教你怎么生成证书,并教你在apache上使用它(生成证书分windows和linux,而使用不分)
 
教你怎么自己生成证书,并在windows上的apache使用它
 
以上3篇文章方法很类似,而且第一篇文章更详细,把可能出错的原因也说了。
这篇教你怎么生成证书,随便看一看。
 
总体来说,流程就是:
先获得私钥+证书两个文件(可以自己生成、可以从CA购买),放到apache的某个目录;
再配置httpd.conf和httpd-ssl.conf两个文件,让apache知道你要开启SSL验证,并指明私钥和证书的位置;
重启apache即可。

2.在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中,

打开 Apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉前面的“#”注释符,使得SSL模块生效(如果该模块已去掉注释,请不用操作)。

LoadModule ssl_module modules/mod_ssl.so

 Include conf/extra/httpd-vhosts.conf

3.接着搜索以下内容:【Include conf/vhosts.conf】,在其下面增加一条引用内容:【Include conf/vhostssl.conf】,(我修改的 conf/extra/httpd-vhosts.conf)

4.Apache 安装目录下 conf 文件夹中创建一个vhostssl.conf配置文件。可以复制httpd.conf文件另存为vhostssl.conf,按照80的配置,另起一个VirtualHost443,vhostssl.conf文件中的所有内容如下所示:

Listen 443
<VirtualHost *:443>
DocumentRoot "D:\www\aaa"
ServerName ceshi.aaa.com
SSLEngine on
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLCertificateFile "D:\phpStudy\Apache\cert\server.crt"
SSLCertificateKeyFile "D:\phpStudy\Apache\cert\server.key"
SSLCertificateChainFile "D:\phpStudy\Apache\cert\ca.crt"
</VirtualHost> <VirtualHost *:80>
DocumentRoot "D:\www\bbb"
ServerName ceshi.bbb.com
</VirtualHost>

5.重启apache

6.配置完SSL证书,我们需要进行站点301重定向,将http的地址强制跳转到https地址,Apache环境下,在站点根目录添加.htaccess文件

7.在.htaccess文件中添加以下内容:

RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]