阿里云一年免费SSL证书配置全站SSL

   

在证书控制台下载Apache版本证书,下载到本地的是一个压缩文件,解压后里面包含_public.crt文件是证书文件,_chain.crt是证书链(中间证书)文件,.key文件是证书的私钥文件(申请证书时如果没有选择系统创建CSR,则没有该文件)。

1在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。

2打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”。

#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
#Include conf/extra/httpd-ssl.conf(删除行首的配置语句注释符号“#”,保存后退出)

3打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:

SSLProtocol all -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
SSLCertificateFile cert/a_public.crt# 证书公钥配置
SSLCertificateKeyFile cert/a.key# 证书私钥配置
SSLCertificateChainFile cert/a_chain.crt# 证书链配置,如果该属性开头有 '#'字符,请删除掉

4重启 Apache。

apachectl -k stop
apachectl -k start

遇到的问题:

1 重启Apache报错SSLSessionCache: 'shmcb' session cache not supported

到httpd.conf配置文件中,然后将”LoadModule socache_shmcb_module modules/mod_socache_shmcb.so“前面的#备注表示去掉掉。

2 (98)Address already in use: make_sock: could not bind to address 0.0.0.0:443

443端口被占用

# netstat -tulnp|grep 443
tcp6       0      0 :::443                  :::*                    LISTEN      930/frps
# killall -9 frps

3 访问https时出现You don't have permission to access /index.html on this server.但是http访问正常。

conf/extra/httpd-ssl.conf配置文件中网站位置不对或没有权限

4 访问时谷歌浏览器提示”您于网站之间建立的链接并非完全安全”

ctrl+u打开源码,看看哪里引用了http的链接,修改成http即可,以后引用其他网站的资源注意要使用http的。

发表评论