SSL证书管理
SSL证书安装指南
Spring Boot上启用HTTPS
Tomcat服务器安装PFX格式证书
Tomcat服务器安装安装JKS格式证书
Apache服务器上安装SSL证书
Nginx或Tengine服务器上安装证书
GlassFish服务器上安装SSL证书
IIS服务器上安装SSL证书
Ubuntu系统Apache 2部署SSL证书
Jetty服务器上安装SSL证书
CentOS系统Tomcat 8.5或9上部署SSL证书
JBoss服务器上安装SSL证书
常见问题
证书安装配置出错或网站无法访问怎么办?
苹果ATS证书的选择及配置
谷歌浏览器无法访问安装SSL证书后的IIS服务
在IIS部署服务证书后访问资源出现404报错
终端的浏览器提示证书不可信的排查方法
Chrome浏览器出现“ERR_CERTIFICATE_TRANSPARENCY_REQUIRED”报错
如何转换证书格式?
为什么使用火狐浏览器访问已配置证书的网站提示不安全?
苹果ATS证书的选择及配置
如何设置证书的TLS协议版本?
如何在macOS系统安装根证书
下载根证书和中间证书
RSA 加密算法与 ECC 加密算法的区别?
用OpenSSL生成自签名证书在IIS上搭建Https站点
本文档使用 MrDoc 发布
-
+
首页
Apache服务器上安装SSL证书
## 前提条件 - 已在数字证书管理服务控制台完成证书的签发和下载。具体操作,请参见下载SSL证书到本地。 - 您的Apache服务器上已经开启了443端口(HTTPS服务的默认端口)。 - 您的Apache服务器上已安装了mod_ssl.so模块(启用SSL功能)。 ## 操作步骤 >**重要** 本文档证书名称以domain_name为示例,例如:证书文件名称为domain_name_public.crt,证书链文件名称为domain_name_chain.crt,证书密钥文件名称为domain_name.key。 1. 解压已下载保存到本地的Apache证书文件。 解压后的文件夹中有3个文件: a. 证书文件:以.crt为后缀或文件类型。 b. 证书链文件:以.crt为后缀或文件类型。 c. 密钥文件:以.key为后缀或文件类型。 >说明 1.申请证书时如果**CSR生成方式**选择的是**手动填写**或**选择已有的CSR**,未选择**系统生成**,则证书下载压缩包中将不包含.key文件(密钥文件)。 2.crt扩展名的证书文件采用Base64-encoded的PEM格式文本文件,可根据需要修改成.pem等扩展名。 2. 在Apache安装目录中新建cert目录,并将解压的Apache证书、证书链文件和密钥文件拷贝到cert目录中。 如果需要安装多个证书,需在Apache安装目录中新建对应数量的cert目录,用于存放不同的证书。 >说明 如果申请证书时**CSR生成方式**选择了**手动填写**,请将手动生成创建的密钥文件拷贝到cert目录中并命名为domain_name.key。 3. 修改httpd.conf配置文件。 a. 在Apache安装目录Apache/conf/下,打开httpd.conf文件。 >**说明** Apache/conf/为Apache的默认安装目录,如果修改过该路径,您需要在修改后的路径下查找httpd.conf文件。您也可以通过find / -name httpd.conf命令搜索httpd.conf文件。 b. 在httpd.conf文件中找到以下参数,按照下文中注释内容进行配置。 ```bash #LoadModule ssl_module modules/mod_ssl.so #删除行首的配置语句注释符号“#”加载mod_ssl.so模块启用SSL服务,Apache默认不启用该模块。 #Include conf/extra/httpd-ssl.conf #删除行首的配置语句注释符号“#”。 ``` >**说明** 如果您在httpd.conf文件中没有找到以上参数,请确认您的Apache服务器中是否已经安装mod_ssl.so模块。如未安装,可执行yum install -y mod_ssl命令安装mod_ssl.so模块。安装后,可执行httpd -M|grep "ssl"命令检查mod_ssl.so是否安装成功。2022年1月1日起CentOS官方将不再对CentOS 8提供服务支持,如果您的操作系统是CentOS 8,yum命令可能无法正常使用,具体解决办法,[请参见CentOS 8 EOL如何切换源?](https://help.aliyun.com/document_detail/405635.htm?spm=a2c4g.11186623.0.0.3b54cd1bRNM6AW "请参见CentOS 8 EOL如何切换源?")。 c. 保存httpd.conf文件并退出。 4. 修改httpd-ssl.conf配置文件。 a. 在Apache/conf/extra/目录下,打开httpd-ssl.conf文件。 >**说明** 根据操作系统的不同,http-ssl.conf文件也可能存放在conf.d/ssl.conf/目录下。 b. 在httpd-ssl.conf文件中找到以下参数,按照下文中注释内容进行配置。 ```bash <VirtualHost *:443> ServerName #修改为申请证书时绑定的域名。 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替换成您证书的密钥文件名;证书链开头如果有#字符,请删除。 </VirtualHost> #如果证书包含多个域名,复制以上参数,并将ServerName修改为第二个域名。 <VirtualHost *:443> ServerName #修改为申请证书时绑定的第二个域名。 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替换成您申请证书时的第二个域名;证书链开头如果有#字符,请删除。 </VirtualHost> ``` >**重要** 请关注您的浏览器版本是否支持SNI功能。如果不支持,多域名证书配置将无法生效。 c. 保存httpd-ssl.conf文件并退出。 5. **可选:**修改httpd.conf文件,设置HTTP请求自动跳转HTTPS。 在httpd.conf文件中的<VirtualHost *:80> </VirtualHost>中间,添加以下重定向代码。 >RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R] 6. 重启Apache服务器使SSL配置生效。 在Apache的bin目录下执行以下步骤: a. 执行apachectl -k stop停止Apache服务。 b. 执行apachectl -k start开启Apache服务。 ## 后续操作 证书安装完成后,您可通过访问证书的绑定域名验证该证书是否安装成功。 >https://yourdomain #需要将yourdomain替换成证书绑定的域名。 如果网页地址栏出现小锁标志,表示证书已经安装成功。 证书安装完成后,如果网站无法通过HTTPS正常访问,需确认您安装证书的服务器443端口是否已开启或被其他工具拦截。
扫地僧
2023年3月22日 11:04
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码