背景
在给客户配置ssl证书的时候找了很多相关的资料,在修改完配置后按照说明都无法进行打开https。最后通过添加虚拟主机字段的方式可以解决这个问题。特别是强制跳转https的方法,通过修改htaccess都不行,以下是解决问题的详细过程。
修改配置
打开 Apache 服务器conf
目录下httpd.conf
文件,并删除以下字段前#
注释符。
#LoadModule ssl_module modules/mod_ssl.so
#LoadModule rewrite_module modules/mod_rewrite.so
添加ssl证书配置字段
httpd.conf
文件的末尾进行添加以下字段,其中证书位置等这里以windows系统为例,Linux类似修改真实位置即可
<VirtualHost 0.0.0.0:443>
#以下的网站路径根据自己情况填写
DocumentRoot "\${SRVROOT}/htdocs"
#填写颁发证书的域名
ServerName ctf.hantaosec.com
#启用 SSL 功能
SSLEngine on
#证书文件的路径
SSLCertificateFile "D:/Apache/cert/server.crt"
#私钥文件的路径
SSLCertificateKeyFile "D:/Apache/cert/server.key"
#证书链文件的路径
SSLCertificateChainFile "D:/Apache/cert/ca.crt"
</VirtualHost>
添加htpps强制跳转字段
<VirtualHost 0.0.0.0:80>
DocumentRoot "\${SRVROOT}/htdocs"
#启用重定项功能
RewriteEngine on
#判断非443端口访问
RewriteCond %{SERVER\_PORT} !^443\$
#强制跳转
RewriteRule ^(.\*)?\$ https://%{SERVER\_NAME}%{REQUEST\_URI} [L,R]
</VirtualHost>
2 条评论
很有用的知识,做站用的到
常来