版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
按照阿里云帮助文档给Apache服务器配置SSL证书时,遇到了一些问题,特意记录下。
配置过程:
①在阿里云给域名签发了SSL证书后,需要将其下载到本地。
解压证书文件夹可以得到三个文件,将其拷贝到Apache根目录的conf文件夹里的ssl文件夹中。
②打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”
#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
#Include conf/extra/httpd-ssl.conf(删除行首的配置语句注释符号“#”,保存后退出)
③打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件,进行以下配置:
Listen 443
<VirtualHost *:443>
DocumentRoot "C:/phpstudy/PHPTutorial/WWW"
ServerName www.youdomain.cn
ServerAlias youdomain.cn
SSLEngine on
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLCertificateFile "C:/phpstudy/Apache/PHPTutorial/conf/2_www.youdomain.cn.crt"
SSLCertificateKeyFile "C:/phpstudy/PHPTutorial/Apache/conf/3_www.youdomain.cn.key"
SSLCertificateChainFile "C:/phpstudy/PHPTutorial/Apache/conf/1_root_bundle.crt"
<Directory "C:/phpstudy/PHPTutorial/WWW/>
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
中途遇到的坑:
阿里云帮助文档的配置没有配置域名,并且路径设置也是错的,按官方方法配置SSL证书行不通;
当取消掉include开头的#时,会发现Apache服务器将无法正常启动,查阅博客帖子后,有大佬说可能是httpd-ssl.conf文件不正确导致的,打开Apache根目录下的bin目录,找到httpd.exe工具对httpd-ssl.conf文件进行校验
扫描二维码关注公众号,回复:
7209107 查看本文章
运行校验,发现Apache自带的httpd-ssl.conf配置文件就是错的,需要自行调整路径
调试配置路径直到不报错,将系统默认证书名字替换成自己的证书名字, 启动Apache服务器,SSL证书配置完成,外网可以通过https正常访问。