从昨天到现在,折腾这个证书,各种BUG,气煞我也。 今天上午,又是一通研究,渐渐发现,感情是阿里云给出的教程,有些问题。 https://help.aliyun.com/document_detail/98727.html?spm=5176.2020520154.0.0.386eQFSrQFSrRg 以上链接,是阿里云给出的教程。 里面从在阿里云申请SSL证书,到后面为apache开启ssl服务等,都是正确的,但最后一步,却出了问题,烦恼了我很久。
这个参考上述链接内容,此地就不叙述立刻。
将申请到的证书,上传到任意目录——没错,就是任意。 按照阿里的说法,要在apache文件夹下,创建一个cert目录。 我一开始还以为这个cert目录有什么有特殊意义呢,后来发现,其实就是一个普通的文件夹而已。 而且也没必要非得放在apache目录下。 当然,我因为是按照阿里的教程来的,我还是放在了apache目录下。
打开Apache/conf/httpd.conf
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf
将前面的#号删除。
在阿里的教程里,要求修改Apache/conf/extra/httpd-ssl.conf文件,并在里面填上如下数据:
<VirtualHost *:443>
ServerName #修改为申请证书时绑定的域名www.YourDomainName1.com。
DocumentRoot /data/www/hbappserver/public
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
SSLCertificateFile cert/domain name1_public.crt
SSLCertificateKeyFile cert/domain name1.key
SSLCertificateChainFile cert/domain name1_chain.crt
</VirtualHost>
但我不知道,是因为自身环境,和阿里的例子不同,还是别的什么原因,总之一直不能成功。 今天上午,经过我的研究,我对阿里的教程进行了修正——至少针对我这个oneinstack,这样操作就OK了。
上述代码不该填在这里。不过,该文件内自带一些内置的例子ssl代码,也即是VirtualHost标签开头和结尾的例子,建议删除,不然会报各种错。
找到listen 80,然后在其下面,添加一个listen 443
我的是yuekanbook.zmblogs.com.conf 打开该文件,置入如下格式内容:
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot "/home/yuekanbook/public"
ServerName yuekanbook.zmblogs.com
ErrorLog "/data/wwwlogs/yuekanbook.zmblogs.com_error_apache.log"
CustomLog "/data/wwwlogs/yuekanbook.zmblogs.com_apache.log" common
<Directory "/home/yuekanbook/public">
SetOutputFilter DEFLATE
Options FollowSymLinks ExecCGI
Require all granted
AllowOverride All
Order allow,deny
Allow from all
DirectoryIndex index.html index.php
</Directory>
</VirtualHost>
<VirtualHost *:443>
ServerName yuekanbook.zmblogs.com
DocumentRoot 项目地址
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
SSLCertificateFile /绝对路径,如/usr/local/apache71/cert/xxx_public.crt
SSLCertificateKeyFile /绝对路径/xxx.key
SSLCertificateChainFile /绝对路径/xxx_chain.crt
<Directory "/home/yuekanbook/public">
SetOutputFilter DEFLATE
Options FollowSymLinks ExecCGI
Require all granted
AllowOverride All
Order allow,deny
Allow from all
DirectoryIndex index.html index.php
</Directory>
</VirtualHost>
service httpd stop
service httpd start