阿里云SSL证书完全指南:从申请到Nginx/Tomcat/IIS全服务器部署实战

简介: 本文提供了一份完整的阿里云SSL证书申请与部署指南。首先介绍SSL/TLS证书的基础概念与阿里云证书类型选型,包括免费DV证书、付费OV/EV证书的区别与适用场景。然后详细讲解个人测试证书与正式证书的申请流程,涵盖自动DNS验证与手动DNS验证两种方式。证书签发后,分别针对Nginx、Tomcat、IIS三大主流Web服务器,给出从证书下载、上传、配置到验证的完整操作步骤与代码示例。最后总结了443端口开放、证书链完整性、配置文件路径等常见部署问题及解决方案,帮助读者一步到位完成HTTPS加密配置。

前言:为什么你的网站需要HTTPS

在当今互联网环境中,网站安全性已成为用户信任的基石。HTTP协议以明文方式传输数据,面临着信息泄露、内容篡改、中间人攻击等严重安全风险。主流浏览器会对未启用HTTPS的网站标记为“不安全”,直接影响用户访问意愿和搜索引擎排名。为Web服务器配置HTTPS证书,不仅能够加密数据传输、保障用户隐私安全,还能提升网站的专业形象和SEO权重。

SSL(Secure Sockets Layer)及其后继者TLS(Transport Layer Security)是一种加密协议,用于在客户端与服务器之间建立安全的通信通道。SSL证书由CA(证书颁发机构)签发,包含网站的公钥、域名信息、颁发机构及有效期等数据。当用户通过HTTPS访问网站时,浏览器会验证证书的合法性,并与服务器协商加密密钥,从而确保数据传输的机密性和完整性。

第一章:阿里云SSL证书类型与选型

阿里云数字证书管理服务(原SSL证书服务)提供多种类型的SSL证书,主要分为以下几类:

1.1 个人测试证书(免费版)

由DigiCert颁发,为DV(域名验证型)单域名证书。每个阿里云账号在一个自然年内可免费领取20张,有效期90天(3个月)。适合个人博客、开发测试环境等非生产场景。免费版SSL证书到期后不支持续费,需要重新申请。

1.2 个人测试证书(Pro)

付费版本,有效期12个月,提供更长的证书周期和更多的技术支撑。

1.3 正式证书

包括DV、OV(组织验证型)、EV(扩展验证型)等多种级别,支持单域名、多域名和通配符域名,有效期通常为1年。适用于企业官网、电商平台、金融系统等对安全要求较高的生产环境。

  • DV证书:仅验证域名所有权,签发速度快(1~15分钟),价格较低。
  • OV证书:需要验证企业真实性,证书中显示企业信息,签发时长约5个自然日。
  • EV证书:最高级别验证,提供最高信任度,签发时长约5个自然日。

对于大多数个人站长和中小企业,个人测试证书(免费版)已能满足基本的HTTPS加密需求。如需更长的有效期或更高的安全级别,可考虑购买付费证书。

需要先登录阿里云控制台,点击:阿里云控制台

第二章:申请SSL证书

2.1 准备工作

在申请SSL证书之前,需要完成以下准备工作:

  • 已完成阿里云账号的实名认证
  • 拥有一个已备案的域名(如服务器位于中国内地)
  • 域名已添加DNS解析记录,指向服务器的公网IP地址
  • 已在服务器安全组中放行443端口

2.2 申请个人测试证书(免费版)

步骤一:进入数字证书管理服务控制台

登录阿里云控制台,在顶部搜索框输入“SSL证书”或“数字证书管理服务”,进入证书管理页面。

步骤二:领取免费证书额度

在左侧导航栏选择“证书管理” > “SSL证书管理”,点击“个人测试证书(原免费证书)”页签,然后点击“立即购买”。在购买面板中保持默认选项,勾选服务协议后完成0元支付。

步骤三:创建证书并提交申请

在“个人测试证书”页签点击“创建证书”,填写以下信息:

  • 域名名称:输入需要绑定证书的域名,例如example.com。系统会自动包含www.example.com的SAN扩展
  • 域名验证方式:可选择“自动DNS验证”或“手动DNS验证”

步骤四:完成域名验证

如果选择自动DNS验证且域名在阿里云DNS管理下,系统会自动添加TXT记录并完成验证,只需等待证书签发即可。如果选择手动DNS验证,需要登录域名DNS管理控制台,添加一条TXT记录,记录值为CA机构提供的验证字符串。

验证通过后,CA机构会签发证书,状态变为“已签发”。

第三章:下载SSL证书

证书签发后,进入SSL证书管理页面,在目标证书操作列单击“更多”进入证书详情页面,然后在下载页签中根据服务器类型下载对应的证书。

不同服务器支持的SSL证书格式不同:

  • Nginx:下载Nginx类型的证书,包含.pem证书文件和.key私钥文件
  • Tomcat:下载Tomcat类型的证书,包含.pfx或.jks证书文件和.txt密码文件
  • IIS:下载IIS类型的证书,包含PFX格式证书文件和TXT密码文件

说明:若申请证书时使用OpenSSL、Keytool等工具生成CSR文件,私钥文件仅保存在您本地,下载的证书包中不包含私钥。如私钥遗失,证书将无法使用。

第四章:Nginx服务器部署SSL证书

Nginx是目前最流行的Web服务器之一,以下是在Linux系统上为Nginx部署SSL证书的完整步骤。

4.1 上传证书文件

将解压后的证书文件(.pem)和私钥文件(.key)上传至服务器,并存放在一个安全的外部目录,如 /etc/ssl/cert 目录。

4.2 配置Nginx

编辑Nginx配置文件(通常位于 /etc/nginx/conf.d/ 或 /etc/nginx/sites-available/ 目录下),添加以下配置:

server {
    listen 443 ssl http2;
    server_name www.example.com example.com;
    ssl_certificate /etc/ssl/cert/your_domain.pem;
    ssl_certificate_key /etc/ssl/cert/your_domain.key;
    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;
    }
}

配置说明:

  • listen 443 ssl http2:监听443端口,启用SSL和HTTP/2协议
  • ssl_certificate:指定证书文件路径(.pem格式)
  • ssl_certificate_key:指定私钥文件路径(.key格式)
  • ssl_protocols:仅启用高安全性的TLSv1.2和TLSv1.3协议,关闭老旧不安全的TLSv1.0和TLSv1.1

4.3 配置HTTP自动跳转HTTPS

为了强制所有HTTP流量跳转到HTTPS,添加以下配置:

server {
    listen 80;
    server_name www.example.com example.com;
    return 301 https://$server_name$request_uri;
}

4.4 验证配置并重启Nginx

# 检查配置文件语法
nginx -t
# 重启Nginx服务
systemctl restart nginx
# 或
service nginx restart

第五章:Tomcat服务器部署SSL证书

Tomcat支持JKS(Java KeyStore)和PFX(PKCS12)两种格式的SSL证书。

5.1 选择证书格式

  • JKS:Java专用的密钥库格式,适合主要在Java环境下使用
  • PFX:通用格式,被Java及其他平台广泛支持,适合跨技术栈场景

5.2 上传证书文件

将解压后的证书文件(.pfx或.jks)和密码文件(.txt)上传至服务器,存放在安全目录如 /etc/ssl/cert。

5.3 配置Tomcat

编辑Tomcat的 server.xml 配置文件(通常位于 $CATALINA_HOME/conf/server.xml),在  标签内添加或修改 Connector:

PFX格式配置:

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true"
           scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS"
           keystoreFile="/etc/ssl/cert/your_domain.pfx"
           keystoreType="PKCS12"
           keystorePass="你的证书密码" />

JKS格式配置:

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true"
           scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS"
           keystoreFile="/etc/ssl/cert/your_domain.jks"
           keystoreType="JKS"
           keystorePass="你的证书密码" />

5.4 配置HTTP跳转HTTPS

在 web.xml 中添加以下安全约束配置,将HTTP请求重定向到HTTPS:

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Protected Area</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

5.5 重启Tomcat

# 进入Tomcat bin目录
cd $CATALINA_HOME/bin
# 停止Tomcat
./shutdown.sh
# 启动Tomcat
./startup.sh

第六章:IIS服务器部署SSL证书

IIS(Internet Information Services)是Windows平台上的主流Web服务器。

6.1 上传证书文件

将下载的IIS证书压缩包解压,得到PFX格式证书文件和TXT密码文件,上传至Windows服务器。

6.2 导入证书到Windows证书存储

双击PFX证书文件,按照证书导入向导完成导入:

  • 选择“本地计算机”作为存储位置
  • 输入证书密码(从TXT文件中获取)
  • 选择“将所有的证书放入下列存储”,选择“个人”

6.3 在IIS中绑定证书

步骤一:打开IIS管理器

在Windows服务器上打开“Internet Information Services (IIS) 管理器”。

步骤二:选择网站并绑定

在左侧连接面板中选择需要配置的网站,点击右侧操作面板中的“绑定”。

步骤三:添加HTTPS绑定

  • 点击“添加”
  • 类型选择“https”
  • 端口填写“443”
  • SSL证书选择刚才导入的证书
  • 勾选“需要服务器名称指示”

6.4 配置HTTP自动跳转HTTPS

在IIS中可以通过安装URL Rewrite模块实现HTTP到HTTPS的自动跳转,或通过在web.config中添加以下规则:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Redirect to HTTPS" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="off" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

第七章:证书格式转换

某些情况下,可能需要将证书在不同格式之间进行转换。阿里云数字证书管理服务提供了证书格式转换工具,支持PEM与PFX、PEM与JKS、PEM与PKCS8格式之间的转换。

常用格式说明:

  • PEM:文本格式,常见于Nginx、Apache等服务器,文件扩展名为.pem或.crt
  • PFX/PKCS12:二进制格式,常见于Windows IIS、Tomcat等服务器,文件扩展名为.pfx或.p12
  • JKS:Java密钥库格式,专用于Java应用服务器如Tomcat

如需将CER格式证书转换为CRT格式,直接修改文件后缀即可。

第八章:进阶优化配置

8.1 启用HSTS(HTTP严格传输安全)

HSTS强制浏览器仅通过HTTPS访问网站,避免SSL剥离攻击。

Nginx配置:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

Tomcat配置:在web.xml中添加

<filter>
    <filter-name>HSTSFilter</filter-name>
    <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
    <init-param>
        <param-name>hstsMaxAgeSeconds</param-name>
        <param-value>31536000</param-value>
    </init-param>
</filter>

8.2 启用OCSP装订

OCSP装订可以减少浏览器验证证书吊销状态的时间,提升HTTPS访问速度。

Nginx配置:

ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/ssl/cert/your_domain.pem;

第九章:常见问题排查

9.1 443端口未开放

检查服务器安全组和防火墙是否放行了443端口。在Linux上使用以下命令检查:

sudo ss -tlnp | grep :443
# 或
sudo netstat -tlnp | grep :443

9.2 证书与私钥不匹配

验证证书文件和私钥文件的MD5值是否一致。如果不一致,表示证书和私钥关联了不同的域名。

# 查看证书MD5
openssl x509 -noout -modulus -in your_domain.pem | openssl md5
# 查看私钥MD5
openssl rsa -noout -modulus -in your_domain.key | openssl md5

9.3 证书链不完整

某些浏览器可能提示证书链不完整。需要在Nginx配置中指定完整的证书链:

ssl_certificate /etc/ssl/cert/fullchain.pem;  # 包含完整证书链

9.4 域名解析不正确

确保证名的DNS解析已正确指向服务器IP。使用以下命令验证:

ping your_domain.com
# 或
dig your_domain.com

9.5 证书已过期

免费证书有效期为90天,到期后需要重新申请。建议设置日历提醒,在证书到期前及时更新。

9.6 系统时间不正确

客户端系统时间不正确会导致证书过期或校验不成功,提示证书风险。需要将系统时间修改正确后再尝试浏览网站。

结语

本文系统地介绍了阿里云SSL证书从申请到部署在Nginx、Tomcat、IIS三大主流Web服务器上的完整流程。通过合理选择证书类型、正确完成域名验证、准确配置服务器参数,即可为网站启用HTTPS加密传输,保障数据安全并提升用户信任。希望本文能帮助读者顺利完成HTTPS配置,让网站安全无忧地运行在互联网上。


常见问题问答

问1:阿里云免费SSL证书的有效期是多久?每年可以申请多少张?

答:阿里云个人测试证书(免费版)有效期为90天(3个月)。每个实名认证的阿里云账号在一个自然年内可免费领取20张。

问2:Nginx部署SSL证书时,需要配置哪些关键参数?

答:核心参数包括ssl_certificate(证书文件路径)、ssl_certificate_key(私钥文件路径)、ssl_protocols(推荐TLSv1.2 TLSv1.3)。同时需要确保443端口已开放,并建议配置HTTP到HTTPS的301重定向。

问3:Tomcat服务器支持哪些SSL证书格式?有什么区别?

答:Tomcat支持JKS和PFX(PKCS12)两种格式。JKS是Java专用格式,适合纯Java环境;PFX是通用格式,支持跨平台和非Java系统集成。

问4:IIS服务器部署SSL证书后,如何实现HTTP自动跳转HTTPS?

答:可以通过安装URL Rewrite模块,在web.config中添加重写规则,将所有HTTP请求永久重定向(301)到HTTPS版本。

问5:部署SSL证书后网站仍然显示“不安全”,该如何排查?

答:按以下顺序排查:①检查443端口是否开放;②确认证书与私钥是否匹配(MD5校验);③验证证书链是否完整;④检查域名解析是否正确指向服务器;⑤确认证书未过期;⑥检查客户端系统时间是否正确。

问6:不同服务器类型下载的证书格式有什么区别?

答:Nginx下载.pem+.key;Tomcat下载.pfx或.jks+密码文件;IIS下载PFX+密码文件。数字证书管理服务根据服务器类型自动打包对应格式,无需手动转换。

相关文章
|
1月前
|
监控 网络协议 网络安全
阿里云SSL证书自动续签与部署完全指南:从托管服务到开源工具链
本文全面解析阿里云SSL证书自动续签与部署的四种主流方案。首先介绍数字证书管理服务V2.0的托管服务,通过开启自动托管实现证书到期前自动续签并一键部署至云产品。其次深入讲解acme.sh + 阿里云DNS API的自动化方案,通过纯Shell脚本和cron定时任务实现Let's Encrypt免费证书的无人值守续期。第三部分详细说明Certbot + DNS插件的配置方法,支持泛域名证书的自动DNS验证。最后提供将开源工具签发的证书自动部署到阿里云CDN、SLB等云产品的完整脚本实现,涵盖API调用、权限配置和部署任务创建。文章还包含证书监控告警设置、续签失败应急处理等进阶内容,并附有6个常见
|
1月前
|
自然语言处理 数据可视化 算法
Agent时代的知识图谱,到底还能怎么玩?
本文探讨知识图谱在Agent时代的转型路径:指出其不可替代的三大价值——结构化行为约束、多Agent语义协调、长期记忆组织;厘清“别碰”“同质化”与“值得投入”的18个方向;强调知识图谱须从静态知识库升级为动态、可验证、嵌入式的行为与记忆基础设施。
|
1月前
|
人工智能 运维 安全
AI 赋能地域本地化钓鱼攻击仿真体系构建与防御研究 —— 以加拿大区域场景为例
本文研究AI驱动的加拿大本地化钓鱼攻击新趋势,揭示Tim Hortons、Interac转账、乳制品诉讼等本土场景的高仿真欺诈机理;提出托管式钓鱼仿真平台架构,提供Python诱饵生成与前端凭证检测代码;实测显示本地化演练可提升员工识别准确率41.7%,并构建“技术检测+仿真演练+素养培训”三层闭环防御体系。(239字)
99 0
|
1月前
|
容灾 关系型数据库 分布式数据库
阿里云PolarDB跨区域灾备部署完全指南:从GDN架构到异地容灾实战
本文系统性地介绍了阿里云PolarDB跨区域灾备的完整解决方案。文章从灾备的核心需求出发,深入剖析了全球数据库网络(GDN)的技术架构与工作原理,涵盖主从集群的数据同步机制、跨地域读写分离、异地灾备与异地多活两大典型场景。随后详细演示了从创建GDN、添加从集群到执行主从切换的完整操作流程,并提供了Python和Shell脚本示例用于自动化灾备演练与监控。文章还对比了GDN方案与跨地域备份方案、两地三中心架构的适用场景与优劣,分析了灾备演练的最佳实践与成本控制策略。通过本文,读者可以全面掌握PolarDB跨区域灾备的部署方法、切换流程、监控手段与成本优化技巧,为生产环境构建高可用的数据库容灾体系
|
1月前
|
人工智能 JSON 监控
AI Agent标准化工作流实战:10套开箱即用完整模板全解析
多数使用者容易混淆AI Agent与普通聊天机器人:聊天机器人仅完成单次问答交互,而AI Agent可以自主串联读取信息、数据核对逻辑、多维度决策、内容起草、系统更新一整条完整业务链路,仅高风险节点暂停等待人工确认。标准化工作流具备可复用、可审计、低幻觉三大优势,核心思路为先梳理完整业务流程,再配套结构化指令,而非临时编写单次Prompt。本文先拆解Agent工作流五大核心组成模块,再分享10套覆盖市场、财务、销售、研发、运营的开箱即用标准化模板,所有模板自带执行步骤、决策规则与输出规范,可直接落地部署。
278 1
|
2月前
|
Kubernetes 监控 Serverless
阿里云服务网格ASM深度对接与实践指南
本文是一篇关于阿里云服务网格ASM的高质量对接与实践文章。首先介绍ASM的产品定位与核心能力,包括全托管Istio兼容架构、企业版与旗舰版功能对比、Sidecar与Ambient两种数据平面模式。接着围绕ASM的计费模式、版本机制与Istio版本兼容性展开详细阐述,帮助读者合理选择规格避免成本陷阱。正文核心部分深入讲解ASM对接实践:通过控制台创建ASM实例并填写关键配置项,将ACK集群添加到ASM实例的条件与步骤,通过Sidecar自动注入实现业务无侵入接入,南北向网关与东西向网关的创建与管理,多集群统一网关配置方法,以及全局、命名空间、工作负载三级可观测配置体系。同时涵盖Hash Tagg
|
2月前
|
消息中间件 监控 Java
阿里云云消息队列RabbitMQ版配置流程:从实例创建到消息收发全解析
本文系统梳理了阿里云云消息队列RabbitMQ版的完整配置流程,涵盖服务开通、实例创建、Vhost隔离、Exchange与Queue配置、用户权限管理、Python与Java代码接入实践、监控告警设置及常见问题排查。文章深入解析了Exchange的四种类型路由规则、开源身份验证与RAM两种权限模式、消息堆积的根源分析与QoS参数调优策略。提供可复用的代码示例与实用的运维建议,帮助开发者从零开始快速搭建稳定可靠的生产级消息队列系统。
|
2月前
|
运维 网络协议 安全
阿里云云解析DNS从零到一:从基础解析到智能调度与安全防护的完全指南
本文以阿里云云解析DNS为核心,提供了一份从零开始的完整使用指南。文中首先介绍了DNS解析的基本原理,并详细说明了使用阿里云云解析的前置条件与准备工作。随后,逐步讲解了在控制台中添加网站解析和邮箱解析的具体操作步骤,深度剖析了A、CNAME、MX、TXT等多种记录类型的应用场景。针对高级运维需求,本文还系统介绍了分线路智能解析、权重负载均衡、DNSSEC安全防护以及重点域名监控告警等进阶功能的配置方法,并提供了Python和Java两种SDK调用示例,帮助开发者实现域名管理的自动化。通过全面的技术解析与实战场景演示,本文旨在帮助用户快速掌握阿里云云解析DNS,实现高效、稳定、安全的域名管理。
|
1月前
|
应用服务中间件 网络安全 Apache
阿里云HTTPS证书从申请到下载到部署全流程(IIS/NGINX/Apache/Tomcat)
本文系统讲解阿里云SSL证书从申请、下载到部署的全流程。首先介绍SSL/TLS基础概念与阿里云证书类型选型,包括免费DV证书、付费OV/EV证书的区别与适用场景。然后详细讲解个人测试证书与正式证书的申请流程,涵盖自动DNS验证与手动DNS验证两种方式。证书签发后,分别针对Nginx、Apache、Tomcat、IIS四大主流Web服务器,给出从证书下载、上传、配置到验证的完整操作步骤与代码示例。最后总结443端口开放、证书链完整性、配置文件路径等常见部署问题及解决方案,帮助读者一步到位完成HTTPS加密配置。
|
1月前
|
人工智能 Java API
阿里云文档智能(Document Mind)对接使用全攻略:从开通到API深度集成
本文系统性地介绍了阿里云文档智能(Document Mind)服务的完整对接与使用流程。首先阐述了文档智能的产品定位与核心能力,包括文档理解、文档格式转换和OCR文档自学习三大板块。随后详细说明了服务开通步骤、控制台五大模块的功能布局以及轻应用的可视化体验方式。在API集成层面,深入剖析了异步任务提交与结果轮询的标准调用模式,并分别提供了Java和Python两种主流语言的完整SDK代码示例。文章还重点介绍了信息抽取模板的两种类型(Prompt模板与Key-Value模板)及其配置方法,探讨了文档智能与RAG结合构建企业知识库的最佳实践路径。最后从权限管理、计费方式、常见错误排查等维度给出了实