阿里云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+密码文件。数字证书管理服务根据服务器类型自动打包对应格式,无需手动转换。

相关文章
|
3月前
|
应用服务中间件 网络安全 Apache
阿里云HTTPS证书从申请到下载到部署全流程(IIS/NGINX/Apache/Tomcat)
本文系统讲解阿里云SSL证书从申请、下载到部署的全流程。首先介绍SSL/TLS基础概念与阿里云证书类型选型,包括免费DV证书、付费OV/EV证书的区别与适用场景。然后详细讲解个人测试证书与正式证书的申请流程,涵盖自动DNS验证与手动DNS验证两种方式。证书签发后,分别针对Nginx、Apache、Tomcat、IIS四大主流Web服务器,给出从证书下载、上传、配置到验证的完整操作步骤与代码示例。最后总结443端口开放、证书链完整性、配置文件路径等常见部署问题及解决方案,帮助读者一步到位完成HTTPS加密配置。
|
3月前
|
监控 网络协议 网络安全
阿里云SSL证书自动续签与部署完全指南:从托管服务到开源工具链
本文全面解析阿里云SSL证书自动续签与部署的四种主流方案。首先介绍数字证书管理服务V2.0的托管服务,通过开启自动托管实现证书到期前自动续签并一键部署至云产品。其次深入讲解acme.sh + 阿里云DNS API的自动化方案,通过纯Shell脚本和cron定时任务实现Let's Encrypt免费证书的无人值守续期。第三部分详细说明Certbot + DNS插件的配置方法,支持泛域名证书的自动DNS验证。最后提供将开源工具签发的证书自动部署到阿里云CDN、SLB等云产品的完整脚本实现,涵盖API调用、权限配置和部署任务创建。文章还包含证书监控告警设置、续签失败应急处理等进阶内容,并附有6个常见
|
3月前
|
弹性计算 应用服务中间件 网络安全
阿里云ECS云服务器HTTPS证书配置完全指南:从申请到部署全流程解析
本文提供了一份完整的阿里云ECS云服务器HTTPS证书配置指南。文章从SSL/TLS证书的基础概念入手,详细介绍了阿里云免费证书与付费证书的区别、个人测试证书的申请流程(含自动DNS验证与手动DNS验证两种方式)、证书下载与上传方法,以及通过手动部署方式将证书配置到Nginx、Apache等主流Web服务器上的完整操作步骤。文章还涵盖了Nginx配置中的证书路径设置、强制HTTP跳转HTTPS、HTTP/2协议启用、SSL加密套件优化等进阶内容,并提供了Let's Encrypt免费证书的Certbot自动化申请与续期方案。最后总结了443端口安全组配置、证书链不完整、配置文件语法错误等常见问
|
3月前
|
物联网 中间件 网络协议
企业固定资产 RFID 盘点系统的工程实现:从频段选型到防碰撞去重
固定资产账实一致是制造、零售与政企单位的共性管理难点。本文从工程视角拆解基于超高频无源 RFID 的资产盘点系统:先论证频段选型依据,再给出四层系统架构与数据链路,附读写器接入、防碰撞去重与 RSSI 过滤的可运行代码,最后总结现场调试中的典型问题与量化验收口径。全文聚焦技术实现,厂商仅作能力示例提及。
企业固定资产 RFID 盘点系统的工程实现:从频段选型到防碰撞去重
|
4月前
|
安全 应用服务中间件 网络安全
阿里云SSL证书全流程指南:从申请到Nginx/Tomcat/IIS生产级部署
本文系统讲解阿里云SSL证书从申请到部署的完整技术流程。首先阐明HTTPS加密的必要性与SSL/TLS协议原理,深入对比个人测试证书(免费DV)、付费OV/EV证书的差异与选型策略。随后详解证书申请全流程,涵盖自动DNS验证与手动DNS验证两种方式。核心部分分别针对Nginx、Tomcat、IIS三大主流Web服务器,给出证书下载、格式转换、配置文件修改、服务重启到验证测试的完整操作步骤与代码示例。最后总结443端口开放、证书链完整性、私钥权限、安全组配置等常见部署问题及解决方案,帮助读者一步到位完成HTTPS加密配置。
|
3月前
|
弹性计算 Oracle 关系型数据库
阿里云Linux云服务器部署Oracle数据库完全指南:从零搭建到生产级运维
本文提供了一份在阿里云ECS Linux实例上完整部署Oracle数据库的实操指南。内容涵盖部署前的实例选型与存储规划、操作系统环境配置(包括内核参数调优、依赖包安装、用户与目录创建)、Oracle 19c的静默安装与DBCA建库、监听器配置与远程访问设置、数据库日常启停与开机自启动管理,以及云环境下的安全组配置、数据备份和性能监控等最佳实践。文章提供了详细的命令脚本和配置文件示例,帮助读者在云端快速搭建一个稳定、安全、可运维的Oracle数据库生产环境。
|
3月前
|
安全 UED
AIGC 安全治理的三道防线:输入、输出与运营闭环
AIGC 安全治理可以按三道防线落地:输入检测用于识别提示词注入、越狱和高风险意图;输出审核用于识别生成内容中的违规、侵权、误导和多模态风险;运营闭环用于沉淀日志、复核结论、样本回流和策略迭代。三者协同,才能支撑生产级 AIGC 应用稳定运行。
|
3月前
|
人工智能 运维 安全
AI 赋能地域本地化钓鱼攻击仿真体系构建与防御研究 —— 以加拿大区域场景为例
本文研究AI驱动的加拿大本地化钓鱼攻击新趋势,揭示Tim Hortons、Interac转账、乳制品诉讼等本土场景的高仿真欺诈机理;提出托管式钓鱼仿真平台架构,提供Python诱饵生成与前端凭证检测代码;实测显示本地化演练可提升员工识别准确率41.7%,并构建“技术检测+仿真演练+素养培训”三层闭环防御体系。(239字)
151 0
|
3月前
|
消息中间件 存储 缓存
私域直播系统开发实践:源码架构、功能设计与核心技术方案解析
私域直播系统是融合音视频传输、实时通信与业务服务的一体化解决方案,采用模块化架构(用户端/主播端/后台/服务端),支持低延时RTC+CDN分发、WebSocket互动、Redis缓存及高并发优化,深度对接商城、订单与会员体系,保障数据安全与私有化运营。
|
3月前
|
关系型数据库 MySQL Java
阿里云云数据库SelectDB版完全对接指南:从零搭建实时数仓到生产级运维
本文系统性地介绍了阿里云云数据库SelectDB版的完整对接与使用流程。首先阐述SelectDB作为基于Apache Doris的全托管实时数据仓库的核心架构与适用场景。随后逐步讲解实例创建、网络与白名单配置、多协议连接方式(MySQL协议、DMS、JDBC、Arrow Flight SQL)。深入演示通过Stream Load、Routine Load、INSERT INTO SELECT等方式完成数据导入,以及通过JDBC Catalog实现联邦查询分析。同时覆盖数据导出备份(SELECT INTO OUTFILE与EXPORT)、查询性能优化(Nereids优化器、物化视图、行列混存)、

热门文章

最新文章