阿里云SSL证书如何在主机上部署?

HCRM技术_小炮 云主机 2025-07-31 5 0

网站安全不再是可选项,而是必备项,看着浏览器地址栏那个醒目的“不安全”提示,不仅访客会犹豫是否信任你的站点,搜索引擎也会默默调低你的排名,想让网站挂上那把代表安全的“小锁”?阿里云SSL证书是实现这一目标的高效途径,下面,就手把手教你如何在你的主机(服务器)上部署阿里云SSL证书。

主机怎么用阿里云ssl

为什么非得是HTTPS?

简单说三点:

1、数据加密:用户在你网站上输入的密码、银行卡号、个人信息,在传输过程中会被加密,防止被窃听。

2、身份认证:向访客证明“你真的是你”,不是钓鱼网站,浏览器显示公司名称的绿色地址栏(EV证书)是最高级的信任标识。

3、SEO加成:谷歌、百度等主流搜索引擎明确表示,HTTPS是排名因素之一,没有HTTPS,想在搜索结果中抢占先机难上加难。

主机怎么用阿里云ssl

4、信任感提升:地址栏的绿色小锁是安全感的直观体现,显著提升用户停留时间和转化率。

准备工作:拥有一个域名和服务器

这步是基础,你需要:

1、 一个已经注册并完成实名认证的域名(yourdomain.com)。

2、 一台运行中的服务器(虚拟主机、云服务器ECS、轻量应用服务器等都行),并且拥有服务器的管理权限(SSH或FTP等)。

主机怎么用阿里云ssl

3、 域名已经解析(A记录或CNAME记录)指向你的服务器IP地址。

第一步:在阿里云获取SSL证书

1、登录阿里云控制台:访问 [阿里云官网](https://www.aliyun.com/),登录你的账号。

2、进入SSL证书服务:在控制台首页搜索框输入“SSL证书”或依次进入“产品” > “安全” > “SSL证书(应用安全)”。

3、购买/申请证书

免费证书(推荐起步)阿里云提供单域名DV免费证书(保护yourdomain.comwww.yourdomain.com),点击“购买证书”,在证书类型中选择“免费型DV SSL”,购买时长选1年(到期可免费续签),完成支付(0元)。

付费证书(更高保障)如果需要保护多个子域名(通配符证书*.yourdomain.com)或需要展示企业名称(OV/EV证书),则选择相应的付费类型(如DigiCert, GlobalSign, CFCA等品牌)购买。

4、证书申请

* 在“SSL证书”控制台找到你购买(或免费申请)的证书实例,点击“证书申请”。

填写域名准确输入你要保护的域名(如yourdomain.com,如需保护www,免费证书会自动包含),通配符证书填写*.yourdomain.com

选择验证方式

DNS验证(最常用)系统会提供一条特定的DNS解析记录(TXT或CNAME类型),你需要登录你的域名管理控制台(可能在阿里云云解析DNS,也可能在其他注册商处),添加这条记录,等待DNS生效(通常几分钟到几小时),验证成功后,系统会自动签发证书。

文件验证按提示下载验证文件,将其上传到你网站根目录下的指定路径(如/.well-known/pki-validation/fileauth.txt),确保能通过http://yourdomain.com/.well-known/pki-validation/fileauth.txt访问到该文件内容,验证通过后签发证书。

* 填写必要的联系人信息(付费证书需更详细的企业信息)。

* 提交申请,等待审核签发(DV证书通常几分钟内完成;OV/EV需要人工审核,1-7个工作日)。

5、下载证书:证书状态变为“已签发”后,点击“下载”,选择与你的服务器环境匹配的证书格式:

Nginx下载Nginx格式的证书包(通常包含.pem.crt后缀的证书文件和.key后缀的私钥文件)。

Apache下载Apache格式的证书包(通常包含.crt证书文件和.key私钥文件,有时会有证书链文件chain.crt)。

Tomcat/IIS/其他选择对应服务器类型的格式。务必看清说明! 下载的压缩包通常包含:

* 证书文件(如yourdomain.com.pem,yourdomain.com.crt

* 私钥文件(如yourdomain.com.key

* (可能包含) 证书链文件(如chain.pem,ca_bundle.crt这个很重要,缺少它可能导致浏览器不信任

第二步:在主机(服务器)上安装SSL证书

这是关键步骤,操作因服务器操作系统和Web服务器软件(Nginx, Apache, IIS等)不同而差异很大,这里以最常见的 Linux + Nginx / Linux + Apache 为例说明核心思路:

核心思想:将证书文件上传到服务器,修改Web服务器配置,启用443端口监听并指向证书。

通用步骤 (Nginx & Apache 都适用)

1、连接服务器:使用SSH工具(如PuTTY, Xshell, FinalShell)或FTP/SFTP工具(如FileZilla, WinSCP)连接到你的服务器。

2、创建证书目录:通常将证书文件放在一个安全且Web服务器有权限读取的目录,

    sudo mkdir -p /etc/ssl/yourdomain.com  # Linux常用位置

3、上传证书文件:将下载的证书文件(.pem,.crt)、私钥文件(.key)和证书链文件(如果有)上传到刚创建的目录(如/etc/ssl/yourdomain.com/)。务必确保私钥文件 (.key) 的权限设置严格(如600),防止未授权访问!

    sudo chmod 600 /etc/ssl/yourdomain.com/yourdomain.com.key

**针对 Nginx 的配置

1、编辑Nginx配置文件:找到你网站对应的Nginx虚拟主机配置文件,通常在/etc/nginx/conf.d//etc/nginx/sites-available/ 目录下,文件名可能类似yourdomain.com.conf,使用文本编辑器(如nanovim)编辑:

    sudo nano /etc/nginx/conf.d/yourdomain.com.conf

2、修改配置:在原有的监听80端口(HTTP)的server 块下方(或内部修改),添加或修改一个监听443端口(HTTPS)的server 块:

    # 原有的HTTP监听 (80端口) - 可选:可以保留做跳转
    server {
        listen 80;
        server_name yourdomain.com www.yourdomain.com;
        # 强烈建议添加301重定向到HTTPS
        return 301 https://$server_name$request_uri;
    }
    # 新增或修改的HTTPS监听 (443端口)
    server {
        listen 443 ssl http2;  # 启用SSL和HTTP/2
        server_name yourdomain.com www.yourdomain.com;
        # 指定证书和私钥路径 (替换成你的实际路径和文件名)
        ssl_certificate /etc/ssl/yourdomain.com/yourdomain.com.pem;      # 证书文件(可能包含证书链)
        ssl_certificate_key /etc/ssl/yourdomain.com/yourdomain.com.key;  # 私钥文件
        # 如果下载的证书和证书链是分开的,通常这样配置(阿里云Nginx包通常合并了)
        # ssl_certificate /etc/ssl/yourdomain.com/certificate.crt;
        # ssl_certificate_key /etc/ssl/yourdomain.com/private.key;
        # ssl_trusted_certificate /etc/ssl/yourdomain.com/chain.pem; # 证书链文件
        # 重要的SSL协议和加密套件配置(提升安全性)
        ssl_protocols TLSv1.2 TLSv1.3; # 禁用不安全的旧协议
        ssl_prefer_server_ciphers on;
        ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; # 推荐的安全套件
        ssl_ecdh_curve secp384r1; # 使用更强的椭圆曲线
        ssl_session_timeout 10m;
        ssl_session_cache shared:SSL:10m;
        ssl_session_tickets off; # 推荐关闭
        ssl_stapling on; # 开启OCSP装订提升验证速度
        ssl_stapling_verify on;
        # 网站根目录和其他配置(与你的HTTP配置一致)
        root /var/www/yourdomain.com/html;
        index index.html index.htm index.nginx-debian.html;
        location / {
            try_files $uri $uri/ =404;
        }
        # 可以添加HSTS头部(增强安全,但要谨慎)
        # add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
    }

3、检查配置并重启Nginx

    sudo nginx -t  # 测试配置文件语法是否正确

如果显示syntax is oktest is successful,则重启Nginx

        sudo systemctl restart nginx  # 或 sudo service nginx restart (取决于系统)

**针对 Apache 的配置

1、启用SSL模块

    sudo a2enmod ssl

2、编辑Apache虚拟主机配置文件:找到你的站点配置文件(可能在/etc/apache2/sites-available/ 下,如yourdomain.com.conf000-default.conf),或者创建一个新的SSL专用配置文件(如yourdomain-ssl.conf),编辑文件:

    sudo nano /etc/apache2/sites-available/yourdomain-ssl.conf

3、配置HTTPS站点

    <VirtualHost *:443>
        ServerName yourdomain.com
        ServerAlias www.yourdomain.com
        DocumentRoot /var/www/yourdomain.com/html  # 你的网站根目录
        # 指定SSLEngine启用
        SSLEngine on
        # 指定证书文件、私钥文件和证书链文件路径 (替换成你的实际路径和文件名)
        SSLCertificateFile /etc/ssl/yourdomain.com/yourdomain.com.crt      # 证书文件
        SSLCertificateKeyFile /etc/ssl/yourdomain.com/yourdomain.com.key   # 私钥文件
        # 如果证书链文件是单独的(阿里云Apache包通常需要)
        SSLCertificateChainFile /etc/ssl/yourdomain.com/chain.crt          # 证书链文件 (或 ca_bundle.crt)
        # (可选) 同样可以配置强化的SSL协议和加密套件
        SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
        SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
        SSLHonorCipherOrder on
        Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
        Header always set X-Frame-Options DENY
        Header always set X-Content-Type-Options nosniff
        # 其他目录配置、日志设置等...
        <Directory /var/www/yourdomain.com/html>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/yourdomain_error.log
        CustomLog ${APACHE_LOG_DIR}/yourdomain_access.log combined
    </VirtualHost>
    # (可选但强烈推荐) 配置HTTP强制跳转到HTTPS
    <VirtualHost *:80>
        ServerName yourdomain.com
        ServerAlias www.yourdomain.com
        Redirect permanent / https://yourdomain.com/
    </VirtualHost>

4、启用站点并重启Apache

    sudo a2ensite yourdomain-ssl.conf  # 启用你刚配置的SSL站点
    sudo systemctl restart apache2     # 或 sudo service apache2 restart

第三步:验证与后续工作

1、访问测试:在浏览器中输入https://yourdomain.com,你应该能看到地址栏显示安全的小锁图标(🔒),点击小锁可以查看证书详情,确认是由阿里云签发的且信息正确。

2、检查混合内容:如果网站页面加载了HTTP资源(如图片、JS、CSS),浏览器可能显示“不安全”或“连接部分安全”,你需要将网站内所有资源的链接都改为https:// 或使用协议相对路径//,浏览器开发者工具(F12)的“Console”或“Security”标签页会指出具体的HTTP资源。

3、设置HTTP强制跳转HTTPS:如上面配置示例所示,强烈建议将80端口的所有HTTP请求通过301重定向到HTTPS版本,这确保了用户和搜索引擎都访问安全的链接,代码示例已在Nginx和Apache配置中给出。

4、证书续期:免费证书有效期1年,付费证书1-2年不等。务必在到期前续期! 阿里云控制台会提前发送续费提醒,续期流程通常与初次申请类似(重新验证域名所有权),签发新证书后,下载并替换服务器上的旧证书文件,然后重启Web服务(Nginx/Apache)即可,可以设置自动续期任务(如使用acme.sh脚本)省心省力。

写在最后

部署HTTPS不再是大型网站的专利,阿里云提供的免费SSL证书让每个站长都能轻松迈入安全时代,整个过程看似步骤不少,但核心就是“申请证书”和“配置服务器”两步,按照指南操作,遇到问题多查资料(阿里云文档非常详尽),通常都能搞定,作为一名运维过不少网站的站长,我深知安全无小事,看着自己网站挂上绿锁,访客数据安全了,搜索引擎更友好了,那份踏实感绝对值得投入这半天时间,别犹豫了,今天就动手给你的网站加上这把“安全锁”吧。

文章摘自:https://idc.huochengrm.cn/zj/11966.html

评论