因为我是在阿里云的服务器,所以证书使用阿里云的ssl证书(个人博客推荐使用免费的DV证书)
然后申请证书完毕,就可以下载对应的ssl证书
接下来我是centos+apache的环境,我的apache在usr/local/apache
进入文件/usr/local/apache/conf/httpd.conf
将以下配置项目前的#去掉
Include conf/extra/httpd-ssl.conf
LoadModule ssl_module modules/mod_ssl.so
然后打开/usrlocal/apache/conf/extra/httpd-ssl.conf
在其中修改以下地方
<VirtualHost _default_:443>
ServerName www.bayunhong.top:443
SSLCertificateFile "" 这里是public的crt
SSLCertificateKeyFile ""这里是key
SSLCertificateChainFile ""这里是chain的crt
然后重启apache发现报错
问题1:报错
SSLSessionCache: 'shmcb' session cache not supported (known names: ). Maybe...
我们在http.conf中找到如下代码去掉#即可
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
问题2:访问https直接变成下载,这个问题困扰了我很久,是因为没有正确解析php导致的,httpd.conf中突然看到一句
Include conf/vhost/*.conf
然后我马上去看了这个文件,发现原来
<VirtualHost *:80>
的配置都在这个文件中,那我直接拿80下面的php解析配置的代码复制到httpd-ssl.conf中就可以了
<Directory "你自己的网站路径">
SetOutputFilter DEFLATE
Options FollowSymLinks ExecCGI
Require all granted
AllowOverride All
Order allow,deny
Allow from all
DirectoryIndex index.html index.php
</Directory>
果然解决了头疼半天的问题
世上最奇妙的是我头上灿烂星空和内心的道德准则。