墨轩阁博客墨轩阁博客墨轩阁博客

阿里云的WordPress环境上怎么安装SSL证书?

如果您的轻量应用服务器已绑定了域名,可以为域名配置HTTPS加密访问,以较低的成本将数据传输协议从HTTP转换成HTTPS,实现网站的身份验证和数据加密传输,防止数据在传输过程中被篡改,信息泄露。本文以使用WordPress 5.6.2的轻量应用服务器为例,介绍在服务器中安装SSL证书,并开启HTTPS加密访问。

前提条件

背景信息

通过数字证书管理服务(Certificate Management Service)完成证书购买、申请,并将证书部署到您的Web服务器后,Web服务将会通过HTTPS加密协议来传输数据。HTTPS加密传输协议可激活客户端浏览器到网站服务器之间的SSL加密通道(SSL协议),从而实现高强度单向加密传输,防止传输数据被泄露或篡改。HTTPS加密传输为手机APP、小程序应用、代码程序、控件等上线应用市场或应用生态必备特征。HTTPS加密传输可为网站带来以下优势:

  • 安全合规:满足对应APP市场或应用生态的要求。

  • 加密传输网络数据:加密网站用户与网站间的数据通信,实现传输数据的防劫持、防篡改、防监听,保障数据传输安全。

  • 提升网站安全性:规避钓鱼事件发生。网站用户在访问网站时浏览器提示安全可信,可以提升网站的可信度、访问流量和搜索排名。

步骤一:申请SSL证书

您可以在阿里云申请免费证书、付费证书或者在其他服务商申请的证书。免费证书建议用于测试、个人试用等场景,org、jp等特殊域名存在无法申请的情况,正式环境建议使用付费证书,本步骤以在阿里云申请免费证书为例。如果您需要申请付费证书,具体操作,请参见购买SSL证书

领取免费证书额度

每个自然年内,您都可以使用已实名认证的阿里云账号,通过数字证书管理服务一次性申领20张免费证书。如果一个自然年内20张免费证书的额度已用完,您可以付费购买和免费证书同类型的证书。

  1. 访问免费证书购买页

  2. 选择您需要的购买数量,单击立即购买并完成支付。

    阿里云账号只有在一个自然年内首次购买数量20DV单域名证书(免费试用)时,可以免费领取。

    如果您的阿里云账号在当前自然年内已经领取过20张免费证书,则再次选购DV单域名证书(免费试用)时,需要支付对应的费用。

提交免费证书申请

  1. 登录数字证书管理服务控制台

  2. 在左侧导航栏,单击SSL 证书

  3. 免费证书页签下,单击创建证书

    创建证书按钮中的数字表示剩余可申请的免费证书个数/总共可申请的免费证书个数。只有当剩余可申请的免费证书个数不为0时,您才可以创建证书。如果剩余可申请的免费证书个数为0,建议您单击立即购买,获取可用的免费证书个数。免费证书

    成功创建证书后,证书列表中将生成一个免费证书实例。

  4. 在新生成的免费证书实例的操作列,单击证书申请

  5. 证书申请面板,配置申请信息,并单击下一步

    参数说明,具体如下表所示。关于参数的详细说明,请参见免费证书快速上手



    参数

    说明

    证书绑定域名

    填写网站域名。

    申请免费证书时,此处只可以填写一个单域名,例如,example.com

    域名验证方式

    默认选择自动DNS验证

    如果您填写的域名在阿里云域名服务控制台域名列表中,则此处自动匹配自动DNS验证,无需您手动配置。该方式由阿里云自动为您完成域名验证。

    重要

    证书绑定的域名需在提交证书申请的阿里云账号下,证书管理服务才能在此处自动匹配自动DNS验证方式。

    联系人

    从下拉列表中选择本次证书申请的联系人(包含邮箱、手机号码等联系信息)。

    重要

    收到证书申请请求后,CA中心会向联系人邮箱发送证书申请验证邮件或者通过联系人手机号码沟通审核相关事宜。因此,请务必确保联系人信息准确且有效。

    所在地

    选择申请人所在的城市或地区。

    密钥算法

    默认选择为RSA,且不支持修改。RSA算法是目前在全球应用广泛的非对称加密算法,兼容性好。

    CSR生成方式

    选择系统生成

  6. 按照验证信息中的提示,在域名控制台添加DNS解析记录,并单击验证

    手工DNS验证关于域名所有权验证的更多介绍,请参见域名所有权验证

  7. 单击提交审核,提交证书申请到CA中心进行审核。

  8. 提示对话框,单击确认,然后请耐心等待CA中心审核您的证书申请,并在审核通过后为您签发证书。

    您可以在证书列表中查看证书的状态。证书签发后,证书状态将会变更为已签发

    说明

    提交DV证书申请后,CA中心一般会在1~2个工作日内完成审核和签发。

步骤二:配置SSL证书

证书签发后,证书状态将变更为已签发,您需要下载和配置证书。关于证书下载和安装的更多信息,请参见SSL证书安装指南

  1. 下载证书。

    1. 在证书所在行的操作列,单击下载daad455

    2. 证书下载面板中,根据服务器类型,单击下载,下载证书文件。

      请根据WordPress服务器中默认已安装Nginx或Apache,选择下载对应的证书。本示例中WordPress 5.6.2默认已安装了Nginx,故下载服务器类型为Nginx的证书。dasd

    3. 解压已下载的Nginx服务器证书压缩包文件。

      解压之后会得到2个证书文件,具体如下图所示。asdad

      说明

      .key为证书文件,.pem为证书私钥文件。

  2. 上传SSL证书。

    使用WinSCP等工具上传.key证书文件和.pem证书私钥文件到轻量应用服务器的/usr/local/nginx/conf/ssl/目录下。sdad

  3. 配置SSL证书。

    • ssl_certificate /usr/local/nginx/conf/ssl/www.example.com.crt;替换ssl_certificate /usr/local/nginx/conf/ssl/cert-file-name.pem;

    • ssl_certificate /usr/local/nginx/conf/ssl/www.example.com.key;替换ssl_certificate /usr/local/nginx/conf/ssl/cert-file-name.key;

    1. 远程连接轻量应用服务器。

      具体操作,请参见远程连接Linux服务器

    2. 运行以下命令,修改WordPress配置文件wordpress.conf

      vim /usr/local/nginx/conf/vhost/wordpress.conf
    3. i键,进入编辑模式。

    4. 在配置文件server{}代码段中修改证书名称。

      使用示例代码前,请注意将www.example.com.crtwww.example.com.key替换为实际上传的证书名称:

      修改后的配置文件示例如下所示:

      server {
        listen 80;
        listen [::]:80;
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        ssl_certificate /usr/local/nginx/conf/ssl/cert-file-name.pem;
        ssl_certificate_key /usr/local/nginx/conf/ssl/cert-file-name.key;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
        ssl_prefer_server_ciphers on;
        ssl_session_timeout 10m;
        ssl_session_cache builtin:1000 shared:SSL:10m;
        ssl_buffer_size 1400;
        add_header Strict-Transport-Security max-age=15768000;
        ssl_stapling on;
        ssl_stapling_verify on;
        server_name _;
        access_log /data/wwwlogs/wordpress_nginx.log combined;
        index index.html index.htm index.php;
        root /data/wwwroot/wordpress;  #if ($ssl_protocol = "") { return 301 https://$host$request_uri; }  #if ($host != www.example.com) {  return 301 $scheme://www.example.com$request_uri;  }
        include /usr/local/nginx/conf/rewrite/wordpress.conf;  #error_page 404 /404.html;  #error_page 502 /502.html;
      
        location ~ [^/]\.php(/|$) {
          #fastcgi_pass remote_php_ip:9000;
          fastcgi_pass unix:/dev/shm/php-cgi.sock;
          fastcgi_index index.php;
          include fastcgi.conf;
        }
      
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
          expires 30d;
          access_log off;
        }
        location ~ .*\.(js|css)?$ {
          expires 7d;
          access_log off;
        }
        location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) {
          deny all;
        }
      }
    5. 修改完成后,按Esc键,输入:wq!并按Enter键,保存修改后的配置文件并退出编辑模式。

    6. 运行以下命令,重启Nginx服务。

      systemctl restart nginx
    7. 运行以下命令,重启数据库。

      service mysqld restart

步骤三:验证SSL证书是否安装成功

  1. 在WordPress后台管理页面配置HTTPS域名。

    1. 登录WordPress后台管理页面。

      后台管理页面地址、用户名、密码的获取方式具体操作,请参见步骤二:配置应用

    2. 在左侧导航栏中,选择设置 > 常规

    3. WordPress地址(URL)站点地址(URL)后,输入您已绑定并解析的域名,本文以https://example.com为例。adasd

    4. 单击保存更改

  2. 使用浏览器访问https://轻量应用服务器对应的域名

    • 需确认您安装SSL证书的轻量应用服务器443端口是否已开启或被其他工具拦截。放行443端口的具体操作,请参见管理防火墙

    • 域名是否备案。如果域名解析至中国内地服务器的网站,需要确保域名已备案。更多信息,请参见什么是ICP备案

    • 证书路径配置是否正确。需确保证书上传的路径和配置的路径相同。具体操作,请参见配置SSL证书

    • 如果浏览器地址栏中出现小锁标志,表示SSL证书已经安装成功。sda

    • 如果网站无法通过HTTPS正常访问,您可以通过以下方法排查。

    • 需确认您安装SSL证书的轻量应用服务器443端口是否已开启或被其他工具拦截。放行443端口的具体操作,请参见管理防火墙

    • 域名是否备案。如果域名解析至中国内地服务器的网站,需要确保域名已备案。更多信息,请参见什么是ICP备案

    • 证书路径配置是否正确。需确保证书上传的路径和配置的路径相同。具体操作,请参见配置SSL证书


未经允许不得转载:墨轩阁博客 » 阿里云的WordPress环境上怎么安装SSL证书?

加载中~