一,阿里云安全证书基本介绍
阿里云安全证书是阿里云平台上的一种安全认证方式,它采用了国际上广泛认可的SSL证书标准,为网站提供安全加密的HTTPS连接。通过阿里云安全证书的申请和使用,可以实现网站的身份验证和数据传输加密,有效地保护网站的安全性和机密性,提高用户的信任度和网站的可信度。 阿里云安全证书具有多种优势。
首先,它具有极高的安全性,能够防止网络攻击和数据泄露等安全风险。
其次,它支持多种域名,可以为不同的网站和业务提供个性化的安全认证。
此外,阿里云安全证书还具有快速申请和部署的优点,可以大大缩短网站的安全认证周期。
同时,阿里云还提供了专业的技术支持和服务,保障了网站的安全稳定运行。
二,准备工作
你需要注册一个阿里云账号,点击:注册阿里云账号
编辑
注册好了,然后到个人中心
做一下,实名认证,建议选择企业实名,这里建议不要选择个人实名,因为个人实名,阿里云是不会开具企业发票的。
三,购买阿里云安全证书
点击:选择阿里云安全证书
编辑
按照自己的需求,去选择要什么品牌的证书。
编辑
然后选择需要使用几年,则购买几年。一般企业证书在购买完以后,需要在填写一些信息,才可以下发。
以CFCA通配符OV证书为例,你需要上传服务器证书申请表,给CFCA,下载地址如下:下载地址
编辑
然后填写CFCA证书申请表。
编辑
当然不同的品牌的证书,要求填写的内容不一样。
四,下载证书
- 登录数字证书管理服务控制台。
- 在左侧导航栏,单击SSL 证书。
- 在SSL 证书页面,定位到目标证书,在操作列,单击下载。
编辑
选择,自己的webserver对应的server类型,下载证书。
解压缩已下载的SSL证书压缩包。
根据您在提交证书申请时选择的CSR生成方式,解压缩获得的文件不同,具体如下表所示。
五,在Apache服务器安装证书
- 1,执行以下命令,在Apache的安装目录下创建一个用于存放证书的cert目录。
- 进入Apache的安装目录。
cd /etc/httpd/ #使用yum安装Apache的默认安装目录。如果您手动修改过该目录或使用其他方式安装的Apache,请根据实际配置调整。
- 创建cert目录。
mkdir cert #创建证书目录,命名为cert。
- 2,将证书文件和私钥文件上传到Apache服务器的证书目录(/etc/httpd/cert)。
- 3,编辑Apache配置文件httpd.conf和ssl.conf,修改与证书相关的配置。
- 找到
LoadModule ssl_module modules/mod_ssl.so
(用于加载mod_ssl.so模块启用SSL服务) 和Include conf.modules.d/*.conf
(用于加载SSL配置目录),并检查是否被注释,如果被注释,请删除#注释。重要由于操作系统以及Apache安装方式不同,以上文件所处的位置也不同。可能出现在Apache目录的以下位置:
- conf.modules.d/00-ssl.conf:本文中
LoadModule ssl_module modules/mod_ssl.so
位于该配置文件下。 - httpd.conf:本文中
Include conf.modules.d/*.conf
位于该配置文件下。 - http-ssl.conf
- 如果仍未找到以上参数,请确认您的Apache服务器中是否已经安装mod_ssl.so模块。如未安装,可执行
yum install -y mod_ssl
命令安装,安装后,可执行httpd -M | grep 'ssl'
命令检查mod_ssl.so是否安装成功。
2022年1月1日起CentOS官方将不再对CentOS 8提供服务支持,如果您的操作系统是CentOS 8,yum命令可能无法正常使用,具体解决办法,请参见CentOS 8 EOL如何切换源?。 - 执行以下命令,打开ssl.conf配置文件。
vim /etc/httpd/conf.d/ssl.conf
- 重要
ssl.conf文件在不同操作系统的位置和名称不一样,在没有ssl.conf文件的情况下,请您查看Apache安装目录是否存在conf/extra/http-ssl.conf配置文件。 - 在ssl.conf配置文件中,定位到以下参数,按照中文注释修改。
<VirtualHost *:443> ServerName #修改为申请证书时绑定的域名。 SSLCertificateFile cert/domain_name_public.crt # 将domain_name_public.crt替换成您证书文件名。 SSLCertificateKeyFile cert/domain_name.key # 将domain_name.key替换成您证书的密钥文件名。 SSLCertificateChainFile cert/domain_name_chain.crt # 将domain_name_chain.crt替换成您证书的密钥文件名;证书链开头如果有#字符,请删除。 #自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置) #TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。 #SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。 #SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。 </VirtualHost> #如果证书包含多个域名,复制VirtualHost参数,并将ServerName修改为第二个域名。 <VirtualHost *:443> ServerName #修改为申请证书时绑定的第二个域名。 SSLCertificateFile cert/domain_name2_public.crt # 将domain_name2替换成您申请证书时的第二个域名。 SSLCertificateKeyFile cert/domain_name2.key # 将domain_name2替换成您申请证书时的第二个域名。 SSLCertificateChainFile cert/domain_name2_chain.crt # 将domain_name2替换成您申请证书时的第二个域名;证书链开头如果有#字符,请删除。 SSLEngine on SSLHonorCipherOrder on #自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置) #TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。 #SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。 #SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。 </VirtualHost>
- 重要
请关注您的浏览器版本是否支持SNI功能。如果不支持,多域名证书配置将无法生效。 - 可选:修改conf/httpd.conf文件,设置HTTP请求自动跳转HTTPS。
在httpd.conf文件中添加以下重定向代码。
RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
- 4,重启Apache服务器使SSL配置生效。
- 执行
apachectl -k stop
停止Apache服务。 - 执行
apachectl -k start
开启Apache服务。
- 5,验证SSL证书是否安装成功
证书安装完成后,您可通过访问证书的绑定域名验证该证书是否安装成功。
https://yourdomain #需要将yourdomain替换成证书绑定的域名。
如果网页地址栏出现小锁标志,表示证书已经安装成功。
六,在CentOS系统下的Tomcat8.5或9安装SSL证书
- 1,将解压后的证书文件和密码文件上传到Tomcat服务器的conf目录。
说明
您可以使用远程登录工具附带的本地文件上传功能,上传文件。例如PuTTy、Xshell或WindSCP等。如果您使用的阿里云云服务器 ECS,上传文件具体操作,请参见本地Windows主机使用MSTSC上传文件到Windows云服务器或上传文件到Linux云服务器。 - 2,进入tomcat安装根目录,执行以下命令,打开server.xml文件。
vim ./conf/server.xml
- 3,在server.xml文件中,定位到以下配置项,按照配置示例进行配置。
- 配置项一:
编辑配置示例:
<Connector port="80" protocol="HTTP/1.1" #将Connector port修改为80 connectionTimeout="20000" redirectPort="443" #将redirectPort修改为SSL默认端口443,让HTTPS请求转发到443端口。 maxParameterCount="1000" />
- 配置项二。
编辑配置示例(需去掉<!- - 和 - ->注释符):
<Connector port="443" #将Tomcat中默认的HTTPS端口修改为443。8443端口不可通过域名直接访问、需要在域名后加上端口号。 #443端口是HTTPS的默认端口,可通过域名直接访问,无需在域名后加端口号。 protocol="org.apache.coyote.http11.Http11NioProtocol" #Connector port有两种运行模式NIO和APR,请选择NIO模式。 maxThreads="150" SSLEnabled="true" maxParameterCount="1000" > <SSLHostConfig> <Certificate certificateKeystoreFile="conf/xxx.pfx" #修改为证书文件路径 certificateKeystorePassword="xxxxxx" #填写证书文件密码。 type="RSA" /> </SSLHostConfig> </Connector>
- 配置项三:
编辑配置示例(需去掉<!- - 和 - ->注释符):
<Connector protocol="AJP/1.3" address="::1" port="8009" redirectPort="443" ##将redirectPort修改为443,让HTTPS请求转发到443端口。 maxParameterCount="1000" />
- 4,可选:在/conf/web.xml文件,配置HTTP请求自动跳转HTTPS。
- 进入tomcat安装根目录,执行以下命令,打开web.xml文件。
vim ./conf/web.xml
- 在web.xml文件最底部添加以下配置项。
<security-constraint> <web-resource-collection > <web-resource-name >SSL</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>
- 5,进入Tomcat的bin目录,执行以下命令,停止Tomcat并重启。
./shutdown.sh #停止Tomcat服务 ./startup.sh #重启Tomcat服务
七,总结
阿里云安全证书的应用范围非常广泛。它可以应用于各种类型的网站,包括企业官网、电子商务网站、政府机构网站、金融行业网站等。同时,阿里云安全证书还可以应用于各种业务场景,如网上银行、在线支付、电子医疗、在线教育等,为各种业务提供安全保障。 总之,阿里云安全证书是阿里云平台上的一种非常重要的安全认证方式,它可以有效地保护网站的安全性和机密性,提高用户的信任度和网站的可信度。