apache虚拟主机配置HTTPS

时间:2022-06-02 21:22:41

win+apache+php的环境下做虚拟主机的https。

1、https用的是443端口,确定防火墙已经开放443了。
2、http.conf要加载以下模块:

#这两个是用来存放SSLSessionCache要用到的,如果不设置,日志会有warning:
LoadModule socache_dbm_module modules/mod_socache_dbm.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#这个不用废话了
LoadModule ssl_module modules/mod_ssl.so
#最后,把ssl的配置包含进来:
Include "D:/apache2/conf/extra/httpd-ssl.conf"

3、http-ssl.conf配置:

Listen
SSLSessionCacheTimeout
SSLProtocol all -SSLv2 -SSLv3
SSLSessionCache "dbm:D:/Apache2/logs/ssl_scache"
<VirtualHost *:>
ServerAdmin admin@wxbo.cn
DocumentRoot "D:/www/wxbo.cn"
ServerName wxbo.cn:
ServerAlias www.wxbo.cn
ErrorLog logs/wxbo.cn-error.log
CustomLog logs/wxbo.cn-access-%Y%m%d.log comonvhost SSLEngine on
SSLCertificateChainFile "D:/crt/www.wxbo.cn/1_root_bundle.crt" #根证书
SSLCertificateFile "D:/crt/www.wxbo.cn/2_www.wxbo.cn.crt" #证书
SSLCertificateKeyFile "D:/crt/www.wxbo.cn/3_www.wxbo.cn.key" #key
<Directory "D:/www/wxbo.cn">
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

4、.htaccess添加两行,把所有非http访问,强制跳转到https:

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]

5、设置好了以后,记得重启apache服务。