前两天看到阿里云有一个免费的ssl证书服务,就申请了一个,然后自己配置了一下,中间遇到了很多问题,在这里记录一下。

先说一下正确的配置流程:

1、首先先在阿里云的证书服务中选择购买证书:

2、之后选择免费的DV SSL购买:

3、购买完成之后来到证书服务里面选择补全,进去之后将个人信息和需要配置的域名填写完成之后就可以慢慢等待证书的签发了:

服务器配置,以Ubuntu14.04为例:

首先第一步先开启ssl模块,在其他的linux的Apache里面需要
(1) 打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到这两行配置并把注释打开。
#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
#Include conf/extra/httpd_ssl.conf
而在Ubuntu下却不相同,Ubuntu下的配置文件和模块都是分离的,所以我们想要启用ssl模块需要在mods-available目录下找到ssl.conf和ssl.load两个文件,这两个文件其中conf是sll的配置文件,load的内容是加载Apache在/usr/lib/apache2/moudel里面的ssl模块。
我们需要做的就是将这两个文件ln -s软连接到mods-enabled目录下
下一步我们需要从阿里云将证书下载下来并拷贝到服务器上,这里我拷贝到了Apache目录的ssl(自己建的)目录下:
root@RedScarf:/etc/apache2/ssl# ls
xxxxxxxxxxxxxxxx.key  xxxxxxxxxxxxxxx.pem  chain.pem  public.pem
之后修改mods-available目录下的ssl.conf这个文件,将里面加入这几句:
#这句话原本是SSLProtocol all现在改成
SSLProtocol all -SSLv2 -SSLv3
#修改加密套件如下
SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
#将服务器证书公钥的路径
SSLCertificateFile /etc/apache2/ssl/public.pem
#将服务器证书私钥配置到该路径下
SSLCertificateKeyFile /etc/apache2/ssl/xxxxxxxxxxxxx.key
#将服务器证书链配置到该路径下
SSLCertificateChainFile /etc/apache2/ssl/chain.pem
然后配置虚拟主机,这次配置的虚拟主机和以往不太一样,你在sites-available目录下会看到default-ssl.conf这个文件,他就是ssl的虚拟主机配置文件,你可以先拷贝一份以你的域名为名:
root@RedScarf:/etc/apache2/sites-available# cp default-ssl.conf rqbin-ssl.conf
之后使用vim打开你刚刚拷贝的那个文件编辑,如:
ServerAdmin webmaster@localhost
#这个是你加上去的内容是你的域名
ServerName www.xxx.com
#这个地址是你的网站的目录
DocumentRoot /xxx/xxx/xxxx/xxx/
重要的是下面两行的配置:
#这两行的配置是你证书公私钥的位置,和ssl.conf文件配置一致就行。
SSLCertificateFile      /etc/apache2/ssl/public.pem
SSLCertificateKeyFile /etc/apache2/ssl/xxxxxxxxxxxx.key
上面几步配置好之后就可以重启Apache了,之后就可以使用了。

中间可能遇到的问题:

首先是阿里云的域名解析,当签发的时候会让你配置域名,你根据他的说明将你域名配置一下即可:

在很多的linux中可能会遇到443端口未开启的问题,你可以再Apache下的ports.conf中修改

重启Apache的时候遇到

这个问题是因为你的ssl.conf中有这么两行:

SSLSessionCache         shmcb:${APACHE_RUN_DIR}/ssl_scache(512000)
SSLSessionCacheTimeout  300

你启用了shmcb但是你却没有加载socache_shmcb.load这个模块,你需要将mods-available这个文件夹中的这个模块软连接到mods-enabled文件夹中,这样就可以重启了。

总体我就遇到了这两个问题,其他如果有问题的话可以看Apache日志:


create by 任庆彬