华为云SSL证书从申请到部署全攻略:让网站安全跑在HTTPS上
一、为什么你的网站需要SSL证书
当用户通过浏览器访问一个网站时,如果地址栏显示的是“http://”而不是“https://”,或者浏览器提示“不安全”,这意味着该网站的数据传输是明文的。在HTTP协议下,用户与服务器之间传输的所有数据——包括登录密码、支付信息、个人隐私等——都可能被中间人截获、窃取甚至篡改。SSL证书的作用,就是在HTTP的基础上加入SSL/TLS加密协议,在客户端与服务器之间建立一条加密的通信通道。安装了SSL证书的网站,数据在传输过程中被加密,即使被截获也无法解读,同时浏览器地址栏会显示安全锁标识,用户点击后可以验证网站的真实身份。
对于企业网站、电商平台、金融机构、政府门户等涉及敏感信息传输的场景,SSL证书不仅仅是安全建议,更是合规要求。搜索引擎也会将HTTPS作为排名因素之一,没有启用HTTPS的网站可能在搜索排名中处于劣势。因此,无论从安全角度还是业务角度,为网站部署SSL证书、实现HTTPS访问,都是现代网站运维的必修课。
需要先登录华为云控制台,点击:华为云控制台,还没有账号,点击:注册并关联,已有账号点击:登录后关联
二、华为云SSL证书的类型与选型
华为云云证书与管理服务提供了多种类型的SSL证书,适配不同域名类型与业务规模的网站。了解各类证书的特点,有助于根据自身需求做出正确的选择。
2.1 DV型证书(域名验证型)
DV证书是最基础的SSL证书类型,仅验证域名的所有权,不验证申请主体的身份信息。这类证书审核速度快,通常几分钟到几小时内即可签发,适合个人博客、测试环境、小微企业展示型网站。华为云为每个账号提供20张免费测试证书额度,单张证书有效期为3个月。如果免费额度用完,可以购买测试证书扩容包,每个扩容包含20张测试证书额度,单张证书有效期为200天。需要注意的是,免费证书一般仅用于个人网站或测试使用,不建议业务成熟的企业类型网站使用。
2.2 OV型证书(企业验证型)
OV证书在验证域名所有权的基础上,还会验证申请企业的真实身份信息。CA机构会审核企业的工商注册信息、经营资质等,审核通过后签发的证书中会包含企业名称信息。OV证书适用于教育机构、政府网站、互联网企业、中小型电商等需要向用户展示身份可信度的场景。OV泛域名证书适用范围较广,可以为同一级的所有子域名提供加密保护,广泛应用于外交部、国家电网等机构。
2.3 EV型证书(增强验证型)
EV证书是最高等级的SSL证书,验证流程最为严格,除了验证域名所有权和企业身份外,还会进行更深层次的背景调查。部署EV证书后,浏览器地址栏会显示绿色标识和公司名称,视觉上最为醒目,能够极大提升用户对网站的信任度。EV证书适用于金融、保险、银行、大型电商等对安全性和品牌形象有极高要求的场景。
2.4 域名类型选择
SSL证书在域名绑定方式上分为单域名证书、多域名证书和泛域名证书三种。单域名证书只能保护一个具体的域名,例如www.example.com。多域名证书可以同时保护多个不同的域名,数量范围通常为2到250个。泛域名证书可以保护同一级的所有子域名,例如*.example.com可以保护test.example.com、shop.example.com等,但无法保护test.test.example.com这样的三级子域名。
三、SSL证书的申请流程
3.1 购买证书
登录华为云官网后,进入管理控制台,点击页面左上方的服务列表,选择“安全与合规”分类下的“云证书管理服务”,进入云证书管理界面。在左侧导航栏选择“SSL证书管理 > SSL证书列表”,进入SSL证书列表页面。在界面右上角单击“购买证书”,进入购买证书页面。
在购买证书页面,需要根据实际需求配置以下参数:计费模式(SSL证书属于一次性计费产品)、服务类型(选择SSL证书-域名证书)、证书类型(DV/OV/EV)、证书品牌、域名类型(单域名/多域名/泛域名)、域名数量、购买时长等。配置完成后单击“立即购买”并完成支付。
3.2 申请证书
成功购买SSL证书后,需要在证书列表中找到该证书,单击“申请证书”。在申请证书页面,需要完成以下操作:
- 绑定域名:为证书绑定需要保护的域名,绑定的域名必须与购买时选择的域名类型一致。
- 填写申请人信息:包括联系人姓名、电话、邮箱、公司名称(OV/EV证书需要)、公司地址等详细信息。
- 选择证书请求文件生成方式:推荐使用“系统生成CSR”,系统会自动生成证书签名请求文件并保管私钥。如果选择“自己生成CSR”,则需要自行生成CSR文件并上传,但需要注意这种方式签发的证书不支持一键部署到云产品。
3.3 域名验证
证书申请信息提交后,需要进行域名验证,以证明申请人对所绑定域名的所有权。华为云SSL证书管理支持多种域名验证方式:
- DNS验证:在域名的DNS解析记录中添加CA机构指定的TXT记录。这种方式最为推荐,无需改动网站服务器配置,适用于所有场景。
- 文件验证:在网站根目录下放置CA机构指定的验证文件。这种方式需要网站服务器能够公网访问,且不支持泛域名证书。
- 邮箱验证:通过WHOIS信息中注册邮箱或特定管理邮箱接收验证邮件。这种方式依赖域名注册信息的准确性。
域名验证通过后,OV和EV证书还需要进行组织验证,CA机构会通过电话或邮件联系企业联系人,确认证书订单申请的发起方是企业本人。全部验证通过后,CA机构将签发证书。
四、下载证书文件
证书签发后,即可在SSL证书管理控制台中下载证书文件。在证书列表中找到目标证书,在“操作”列单击“下载”,进入证书下载页面。
根据申请证书时选择的CSR生成方式,下载的文件有所不同。如果选择“系统生成CSR”,下载的证书压缩包解压后通常包含“Apache”、“IIS”、“Nginx”、“Tomcat”、“Pem”等多个文件夹。如果选择“自己生成CSR”,解压后获得的是“证书ID_证书绑定的域名_server.pem”文件。
不同Web服务器需要使用的证书文件不同,具体对应关系如下:
- Nginx服务器:使用“证书ID_证书绑定的域名_server.crt”(证书文件)和“证书ID_证书绑定的域名_server.key”(私钥文件)。
- Apache服务器:使用“证书ID_证书绑定的域名_server.crt”(服务器证书)、“证书ID_证书绑定的域名_ca.crt”(中级CA证书)和“证书ID_证书绑定的域名_server.key”(私钥文件)。
- Tomcat服务器:使用“证书ID_证书绑定的域名_server.jks”(JKS格式密钥库)和“证书ID_证书绑定的域名_keystorePass.txt”(密码文件)。
- IIS服务器:需要将证书转换为PFX格式后再导入。
五、部署前的准备工作
在正式开始部署SSL证书之前,有几个关键的准备工作必须完成,否则可能导致部署后HTTPS无法正常访问。
5.1 开放443端口
HTTPS协议默认使用443端口。证书安装前,务必在安装SSL证书的服务器操作系统上开启443端口,同时在云服务器的安全组规则中增加允许443端口入方向的规则。如果443端口未开放,即使证书配置正确,外部用户也无法通过HTTPS访问网站。如果在安全组中开放端口后仍然无法访问,还需要检查服务器本地防火墙(如iptables、firewalld等)是否也放行了443端口。
5.2 域名解析与绑定
待安装证书的域名必须已经解析到对应的服务器IP地址,并且已经在Web服务器中完成了域名绑定。证书绑定的域名必须与Web服务器配置的域名完全一致,否则浏览器会提示证书与域名不匹配的安全警告。如果一个域名对应多台服务器,则每一台服务器上都需要部署证书。
5.3 备份配置文件
修改Web服务器配置文件之前,强烈建议先将原配置文件进行备份。如果条件允许,最好先在测试环境中完成部署验证,确认配置无误后,再在正式生产环境中进行操作。这样可以避免配置错误导致服务不可用,影响线上业务。
六、在Nginx服务器上部署SSL证书
Nginx是目前最流行的Web服务器之一,以下以CentOS 7操作系统、Nginx 1.24.0为例,介绍SSL证书的安装步骤。
6.1 上传证书文件到服务器
将通过华为云控制台下载的Nginx文件夹中的“证书ID_证书绑定的域名_server.crt”和“证书ID_证书绑定的域名_server.key”文件上传到Nginx服务器的指定目录,例如/etc/nginx/ssl/。可以使用scp、rsync等工具,或者通过云服务器的文件管理功能上传。
6.2 修改Nginx配置文件
打开Nginx的配置文件(通常是/etc/nginx/nginx.conf或/etc/nginx/conf.d/下的站点配置文件),在server块中添加SSL相关配置。以下是一个完整的HTTPS配置示例:
server {
listen 443 ssl http2;
server_name www.example.com;
# 证书文件路径
ssl_certificate /etc/nginx/ssl/www.example.com_server.crt;
ssl_certificate_key /etc/nginx/ssl/www.example.com_server.key;
# SSL协议与加密套件配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# 站点根目录
root /var/www/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}6.3 配置HTTP自动跳转HTTPS
为了让用户始终通过HTTPS访问网站,建议配置HTTP到HTTPS的自动重定向。在Nginx配置中增加以下server块:
server {
listen 80;
server_name www.example.com;
return 301 https://$server_name$request_uri;
}这样,当用户访问http://www.example.com时,会被自动重定向到https://www.example.com。
6.4 验证并重启Nginx
配置文件修改完成后,先执行以下命令检查配置语法是否正确:
nginx -t如果输出显示“syntax is ok”和“test is successful”,说明配置无误。然后执行以下命令重新加载Nginx配置:
systemctl reload nginx或者使用:
nginx -s reload重启完成后,通过浏览器访问https://域名,查看是否正常显示网站内容,并检查地址栏是否显示安全锁标识。
七、在Apache服务器上部署SSL证书
以下以CentOS 7操作系统、Apache 2.4.6服务器为例。在部署之前,需要确保Apache服务器上已安装了mod_ssl.so模块,即启用了SSL功能。
7.1 上传证书文件到服务器
将Apache文件夹中的“证书ID_证书绑定的域名_server.crt”、“证书ID_证书绑定的域名_ca.crt”和“证书ID_证书绑定的域名_server.key”三个文件上传到服务器的指定目录,例如/etc/httpd/ssl/。
7.2 修改Apache配置文件
打开Apache的SSL配置文件,通常是/etc/httpd/conf.d/ssl.conf。找到并修改以下配置项:
<VirtualHost *:443>
ServerName www.example.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/www.example.com_server.crt
SSLCertificateKeyFile /etc/httpd/ssl/www.example.com_server.key
SSLCertificateChainFile /etc/httpd/ssl/www.example.com_ca.crt
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>7.3 配置HTTP跳转HTTPS
在Apache中配置HTTP到HTTPS的重定向,可以通过修改.htaccess文件或在httpd.conf中添加以下配置:
<VirtualHost *:80>
ServerName www.example.com
Redirect permanent / https://www.example.com/
</VirtualHost>7.4 重启Apache服务
配置文件修改完成后,执行以下命令重启Apache:
systemctl restart httpd或者:
apachectl restart八、在Tomcat服务器上部署SSL证书
以下以Linux操作系统中的Tomcat 7服务器为例。Tomcat的SSL配置本质上是Java KeyStore(JKS)或PKCS#12格式密钥库的管理与引用。
8.1 获取证书文件
从华为云控制台下载的Tomcat文件夹中,包含“证书ID_证书绑定的域名_server.jks”文件和“证书ID_证书绑定的域名_keystorePass.txt”密码文件。将这两个文件上传到Tomcat服务器的指定目录,例如/usr/local/tomcat/conf/cert/。
8.2 修改server.xml配置文件
打开Tomcat的conf/server.xml文件,找到关于SSL的Connector配置部分。取消注释或添加以下配置:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/usr/local/tomcat/conf/cert/www.example.com_server.jks"
keystorePass="证书密码" />其中keystorePass的值需要从“证书ID_证书绑定的域名_keystorePass.txt”文件中获取。如果使用PFX格式的证书,配置略有不同。需要注意的是,如果修改了JKS密码,需要确保与PFX证书密码一致,否则可能导致Tomcat启动失败。
8.3 重启Tomcat
配置文件修改完成后,执行Tomcat的bin目录下的shutdown.sh和startup.sh脚本重启服务:
cd /usr/local/tomcat/bin
./shutdown.sh
./startup.sh重启完成后,通过https://域名:443访问验证。
九、在IIS服务器上部署SSL证书
IIS是Windows平台最常用的Web服务器。在IIS上部署SSL证书需要先将证书转换为PFX格式。
9.1 转换证书格式
如果下载的证书是PEM格式,需要使用OpenSSL工具将其转换为PFX格式。执行以下命令:
openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt命令执行时需要设置导出密码,请记住该密码,在IIS导入证书时需要使用。
9.2 导入证书到IIS
打开IIS管理器,在左侧连接栏中选择服务器节点,双击“服务器证书”。在右侧操作栏中单击“导入”,选择刚才生成的PFX证书文件,输入密码完成导入。
9.3 绑定证书到网站
在IIS管理器中找到目标网站,右键单击选择“编辑绑定”。在弹出的窗口中单击“添加”,类型选择“https”,端口填写443,SSL证书选择刚才导入的证书。确认后完成绑定。
十、一键部署SSL证书到华为云产品
华为云SSL证书管理服务提供了一键部署功能,可以将证书直接部署到CDN、ELB、WAF等华为云产品中。这种方式无需手动下载和配置证书文件,操作简便且不易出错。
10.1 部署到CDN
CDN支持HTTPS安全加速,可以在CDN控制台为加速域名配置HTTPS证书。使用一键部署功能的前提是:证书状态为“已签发”或“托管中”,且已在CDN服务中将要绑定的域名添加为加速域名并开启了HTTPS。
操作步骤如下:登录云证书与管理服务控制台,在SSL证书列表中找到目标证书,在“操作”列单击“部署证书”。在部署详情页面选择“CDN”页签,选择需要部署的域名,单击“部署”或“重新部署”即可。如果当前域名已部署过该证书,会弹出重复部署的提示框,确认后即可覆盖更新。需要注意的是,CDN仅支持PEM格式的证书,其他格式需要转换为PEM格式。证书和加速域名必须匹配,泛域名证书的配置需要特别注意。
10.2 部署到ELB
ELB(弹性负载均衡)支持HTTPS监听器,可以将SSL证书部署到负载均衡器上,实现后端服务器的HTTPS卸载。通过SCM一键部署到ELB,可以自动更新ELB监听器下的证书内容及私钥。部署前需要在ELB控制台创建证书,或通过SCM的一键部署功能完成。
10.3 部署到WAF
WAF(Web应用防火墙)也支持SSL证书的部署。在SCM控制台的部署证书页面选择“WAF”页签,即可将证书一键部署到WAF实例中。
需要特别注意的是,已上传的第三方证书和有效期为三个月的测试证书部署到华为云产品时需要收费,每一张证书部署到华为云产品的一个域名计为一次部署,费用为30元/次。
十一、验证SSL证书是否部署成功
证书部署完成后,需要通过多种方式验证是否生效。
11.1 浏览器验证
最简单直接的方式是使用浏览器访问https://域名。如果地址栏显示安全锁标识,点击锁图标可以查看证书详情,包括证书的颁发机构、有效期、绑定的域名等信息,说明证书部署成功。
11.2 命令行验证
使用curl命令可以快速验证HTTPS是否正常工作:
curl -I https://www.example.com如果返回HTTP/2 200或类似的状态码,说明HTTPS访问正常。也可以使用openssl命令检查证书信息:
openssl s_client -connect www.example.com:443 -showcerts该命令会显示完整的证书链信息,包括证书的颁发者、有效期、公钥信息等。
11.3 在线工具验证
可以使用在线SSL检测工具,输入域名进行全面的SSL配置检测,包括证书有效性、加密套件、协议支持、漏洞检测等。
十二、证书的续费与管理
自2026年3月15日起,全球CA机构颁发的SSL证书有效期最长为200天。华为云的免费测试证书有效期为3个月,付费证书有效期为200天。证书到期前必须及时续费,否则HTTPS将失效,网站会被浏览器标记为不安全。
12.1 自动续费
华为云SSL证书管理支持自动续费功能。开通自动续费后,系统将在证书即将到期前30天内自动续费购买一张相同规格的新证书,并以原证书的申请信息提交证书申请。续费签发的新证书有效期为续费有效期加上原证书的剩余有效期。开通自动续费后,需要留意查收验证提醒的邮件通知,因为续费证书仍然需要完成域名验证和组织验证。
12.2 手动续费
手动续费相当于在控制台重新购买一张与原证书规格完全相同的证书。手动续费的操作入口在证书到期前30个自然日内开放,其余时间不支持操作。SCM会在证书到期前30天发送提醒通知。
12.3 续费限制
需要注意的是,仅支持对在华为云SSL证书管理中购买的、已签发且即将到期的付费SSL证书进行续费。上传的第三方证书、免费证书、单域名扩容包暂不支持续费。
十三、常见问题与排障思路
部署SSL证书的过程中可能会遇到各种问题,以下是一些常见场景及排查思路。
13.1 部署后HTTPS无法访问
如果部署证书后通过https://域名无法访问网站,首先检查443端口是否已在服务器操作系统和云安全组中开放。其次检查Nginx或Apache的配置文件语法是否正确,证书文件路径是否正确。还可以查看Web服务器的错误日志,通常会有详细的错误信息帮助定位问题。
13.2 浏览器提示证书不安全
如果浏览器提示证书不安全或证书与域名不匹配,说明证书绑定的域名与当前访问的域名不一致。检查是否用错了证书,或者访问的域名是否在证书的保护范围内(例如泛域名证书无法保护三级子域名)。
13.3 证书部署后HTTP仍然可以访问
如果希望强制使用HTTPS,需要在Web服务器中配置HTTP到HTTPS的自动重定向。如果重定向未生效,检查重定向配置是否正确,或者是否有其他配置覆盖了重定向规则。
十四、安全加固建议
部署SSL证书只是HTTPS安全的第一步,以下建议可以进一步提升网站的安全性。
14.1 使用强加密套件
在配置SSL时,建议禁用不安全的SSL协议版本(如SSLv2、SSLv3、TLSv1.0),仅启用TLSv1.2和TLSv1.3。加密套件应优先选择支持前向保密(PFS)的套件。
14.2 启用HSTS
HSTS(HTTP Strict Transport Security)可以强制浏览器在指定时间内只通过HTTPS访问网站,彻底杜绝HTTP访问的可能性。在Nginx中可以通过添加响应头实现:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;14.3 定期更新证书
证书有效期缩短后,需要更加关注证书的到期时间,及时续费或更换证书。建议在日历或运维系统中设置证书到期提醒,避免因证书过期导致服务中断。
十五、总结
华为云SSL证书的部署涵盖证书选型、申请购买、域名验证、证书下载、服务器配置、验证测试、续费管理等多个环节。不同类型的证书适用于不同规模的网站,免费测试证书适合个人和测试场景,OV和EV证书适合企业级生产环境。Nginx、Apache、Tomcat、IIS等主流Web服务器均有对应的部署方案,华为云的一键部署功能可以大幅简化CDN、ELB、WAF等云产品的证书配置工作。部署完成后需要通过浏览器、命令行等多种方式验证证书是否生效,并建立证书续费的管理机制,确保HTTPS服务的持续可用。希望本文能够帮助读者顺利完成华为云SSL证书的部署,让网站安全地跑在HTTPS上。




