Apache配置SSL实现HTTP转HTTPS及可能出现的问题(配置https启动不了的解决办法)
一直用有道云笔记做记录,好久没有写博客了,个人觉得有道云笔记还是比这个博客要方便好多,还是看每个人记录习惯吧,话不多说,直接开磕
SSL是干啥的这里也就不说了
第一步、申请SSL证书
阿里云、腾讯云等,在哪申请SSL证书都行,当然也可以自己生成证书
测试了下,阿里云的域名在景安云服务器上用腾讯云申请的SSL、阿里云申请的SSL都可以,没啥区别
1_root_bundle.crt (证书链文件)
2_www.weisen.com_cert.crt(证书文件)
3_www.weisen.com.key(私钥文件)
第二步、配置 Apache根目录下 conf/httpd.conf 文件
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf
去除这两行前的注释 #
第三步、编辑Apache根目录下 conf/extra/httpd-ssl.conf 文件
# 证书位置与上传的位置已定要一致
SSLCertificateFile "E:/Apache/conf/ssl/2_www.tpyyes.com.crt" #证书文件
SSLCertificateKeyFile "E:/Apache/conf/ssl/3_www.tpyyes.com.key" #私钥文件
SSLCertificateChainFile "E:/Apache/conf/ssl/1_root_bundle.crt" #证书链文件
下面省略下。。。
下面咱来谈谈Apache引入“http-ssl.conf”文件后无法启动问题吧
去掉#Include conf/extra/httpd-ssl.conf前面的注释Apache就启动不了了
查看错误日志,提示网站错误或者文件不存在
httpd-ssl.conf文件夹下的所有路径都需要根据自己的实际情况作出改变,估计好多人刚开始都跟我一样,直接去掉httpd.conf 文件下引入这个文件的注释,然后修改证书引入路径,再然后就启不来了。。。。。。
如果多次调试后Apache还是无法启动,建议采用以下方法尝试:
第一步:
#Include conf/extra/httpd-ssl.conf前面的注释“不动”
引入一个自定义的文件,名字随意,例如:custom-ssl.conf
Include conf/extra/custom-ssl.conf
第二步:
编辑自定义的文件“”,包含路径、引入SSL等基本信息,示例如下:
注意:7、8、9、11这几行根据自己的实际情况更改!
Listen 443 <VirtualHost *:443> SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5 SSLCertificateFile "E:/Apache/conf/ssl/2_www.weisen.com.crt" SSLCertificateKeyFile "E:/Apache/conf/ssl/3_www.weisen.com.key" SSLCertificateChainFile "E:/Apache/conf/ssl/1_root_bundle.crt" DocumentRoot "E:\WWW\weisen" <Directory /> Options +Indexes +FollowSymLinks +ExecCGI AllowOverride All Order allow,deny Allow from all Require all granted </Directory> </VirtualHost>
第三步
重启Apache,然后访问域名,ok!
都开始搜索错误解决方法了,对于配置SSL的其它步骤和强制HTTPS访问,应该都没啥问题吧!
欢迎其他码友提出更好的方案!