Apache服务器安装SSL证书 作者:马育民 • 2020-04-25 10:46 • 阅读:10147 # 下载安装apache ### windows apache ssl版本(推荐) 推荐下载安装apache ssl版本,内置openssl,简化操作 https://www.apachehaus.com/cgi-bin/download.plx ### windows apache 非ssl版本 - 根据windows 32位 或 64位,下载相应版本的 apache - 根据windows 32位 或 64位,下载相应版本的 openssl 下载地址:http://slproweb.com/products/Win32OpenSSL.html # 下载 mode_ssl.so https://www.malaoshi.top/show_1EF5T6UIbDSN.html 放到这个路径`Apache安装路径\modules\mode_ssl.so` # 服务器准备工作 硬件服务器上已经开启了443端口(HTTPS服务的默认端口) # 阿里云申请免费证书 参见: https://yq.aliyun.com/articles/637307 ### 下载Apache证书文件 解压后的文件夹中有3个文件: - 证书文件:以.crt为后缀或文件类型。 - 证书链文件:以.crt为后缀或文件类型。 - 密钥文件:以.key为后缀或文件类型。 在Apache安装目录中新建cert目录,并将解压的Apache证书、 证书链文件和密钥文件拷贝到cert目录中。如果需要安装多个证书,需在Apache目录中新建对应数量的cert目录,用于存放不同的证书 。 # 修改httpd.conf配置文件。 在Apache安装目录下,打开Apache/conf/httpd.conf文件,并找到以下参数,按照下文中注释内容进行配置。 ``` #LoadModule ssl_module modules/mod_ssl.so #删除行首的配置语句注释符号“#”加载mod_ssl.so模块启用SSL服务,Apache默认是不启用该模块的。 #Include conf/extra/httpd-ssl.conf #删除行首的配置语句注释符号“#”。 ``` 保存httpd.conf文件并退出 # 修改httpd-ssl.conf配置文件。 打开Apache/conf/extra/httpd-ssl.conf文件并找到以下参数,按照下文中注释内容进行配置。 >说明 根据操作系统的不同,http-ssl.conf文件也可能存放在conf.d/ssl.conf目录中。 ``` ServerName #修改为申请证书时绑定的域名www.YourDomainName1.com。 DocumentRoot /data/www/hbappserver/public SSLEngine on SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。 SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。 SSLHonorCipherOrder on SSLCertificateFile cert/domain name1_public.crt # 将domain name1_public.crt替换成您证书文件名。 SSLCertificateKeyFile cert/domain name1.key # 将domain name1.key替换成您证书的密钥文件名。 SSLCertificateChainFile cert/domain name1_chain.crt # 将domain name1_chain.crt替换成您证书的密钥文件名;证书链开头如果有#字符,请删除。 ``` ``` #如果证书包含多个域名,复制以上参数,并将ServerName替换成第二个域名。 ServerName #修改为申请证书时绑定的第二个域名www.YourDomainName2.com。 DocumentRoot /data/www/hbappserver/public SSLEngine on SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。 SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。 SSLHonorCipherOrder on SSLCertificateFile cert/domain name2_public.crt # 将domain name2替换成您申请证书时的第二个域名。 SSLCertificateKeyFile cert/domain name2.key # 将domain name2替换成您申请证书时的第二个域名。 SSLCertificateChainFile cert/domain name2_chain.crt # 将domain name2替换成您申请证书时的第二个域名;证书链开头如果有#字符,请删除。 ``` > 说明 需注意您的浏览器版本是否支持SNI功能。如果不支持,多域名证书配置将无法生效。 保存httpd-ssl.conf文件并退出。 # 重启Apache服务器使SSL配置生效 https://www.malaoshi.top/show_1EF5PEZkGAzg.html # 设置HTTP请求自动跳转HTTPS 1. 在Apache安装目录下,打开Apache/conf/httpd.conf文件,并找到以下参数,按照下文中注释内容进行配置。 ``` #LoadModule rewrite_module modules/mod_rewrite.so #删除行首的配置语句注释符号“#” ``` 2. 在httpd.conf文件中的` `中间,添加以下重定向代码。 ``` RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R] ``` # 访问网站 如果网页地址栏出现 **小锁** 标志,表示证书安装成功。 [![](https://www.malaoshi.top/upload/0/0/1EF5PEvq5BuH.png)](https://www.malaoshi.top/upload/0/0/1EF5PEvq5BuH.png) 感谢: https://blog.csdn.net/zha6476003/article/details/80900988 https://help.aliyun.com/document_detail/98727.html?spm=5176.2020520163.0.0.675356a7nMli2a 原文出处:http://malaoshi.top/show_1EF5PFRkYGeR.html