背景

在给客户配置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>
正文到此结束

本文标题:Apache配置SSL证书|https强制跳转配置

本文链接:https://www.hantaosec.com/3687.html

除非另有说明,本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

声明:转载请注明文章来源及链接,不带链接禁止任何转载!访问任何网络安全相关文章,则视为默认接受网络安全文章免责声明 ,请认真阅读。

喜欢我的文章吗?
别忘了点赞或赞赏,让我知道创作的路上有你陪伴。