【问题标题】:How to Install SSL on AWS EC2 WordPress Site如何在 AWS EC2 WordPress 站点上安装 SSL
【发布时间】:2018-04-19 04:30:41
【问题描述】:

我已经使用 EC2 在 AWS 上创建并启动了我的 WordPress 网站。我按照这个tutorial 创建了站点。它目前使用 Route 53 映射到一个域。网站上的所有开发都是在我的实例中在线完成的。

我现在想在我的网站上安装 SSL 证书。我该怎么做?

【问题讨论】:

  • 是否使用负载均衡器?您是,还是打算在网站前面放置一个 CDN,例如 CloudFront?
  • 我没有使用负载均衡器,也不打算在网站前面放置 CDN。这只是一个简单的 EC2 设置。
  • 那么您应该使用 Let's Encrypt,如下面的答案之一所述。

标签: wordpress amazon-web-services ssl amazon-ec2


【解决方案1】:

这就是我在 WordPress 网站上启用 SSL 的方式。

我使用了 Lets Encyprpt X.509 证书。 Lets Encrypt 是一个以自动化方式免费提供 x.509 证书的证书颁发机构。您可以在 [此处][2]

找到有关让我们加密的更多信息

要遵循的步骤:

  1. SSH 进入实例并切换到 root。
  2. 下载证书机器人

    wgethttps://dl.eff.org/certbot-auto

    chmod a+x certbot-auto

  3. 运行 certbot 以获取证书

    sudo ./certbot-auto --debug -v --server https://acme-v01.api.letsencrypt.org/directory certonly -d "your-domain-name"

  4. 将启动一个向导,要求您选择 Apache、WebRoot 和 Standalone 选项。选择 WebRoot 选项并继续。记下您的域目录

  5. 通常 /var/www/html 将是您的域目录。成功后,您将在以下路径中获得三个证书

    证书:/etc/letsencrypt/live/>>/cert.pem

    全链:/etc/letsencrypt/live/>>/fullchain.pem

    私钥:/etc/letsencrypt/live/>>/privkey.pem

  6. 将 pem 文件路径复制到 /etc/httpd/conf.d/ssl.conf。然后重启apache

    服务 httpd 重启

最后,我在 wordpress 中启用了 Really Simple SSL 插件。就是这样!

【讨论】:

    【解决方案2】:

    如果您使用“Bitnami”在 AWS 上创建了 WordPress, 你可以 ssh 到你的实例并运行:

    sudo /opt/bitnami/bncert-tool
    

    详情请见bitnami docs

    【讨论】:

    • 这个特定问题的最佳解决方案。简单干净。只是补充一下,我必须将我的 crontab 文件反转为默认值,否则会导致 EOF 错误。
    【解决方案3】:

    本教程提供了使用 LetsEncrypt / Certbot 在 AWS 上设置 Wordpress 的简单 3 步指南:

    https://blog.brainycheetah.com/index.php/2018/11/02/wordpress-switching-to-https-ssl-hosted-on-aws/

    第 1 步:获取 SSL 证书 第 2 步:配置重定向 第 3 步:更新防火墙

    在每个阶段将“example.com”替换为您自己的网站地址。

    安装 certbot:

    $ sudo apt-get update
    $ sudo apt-get install software-properties-common
    $ sudo add-apt-repository ppa:certbot/certbot
    $ sudo apt-get update
    $ sudo apt-get install python-certbot-apache
    

    创建证书:

    $ sudo certbot --apache -m admin@example.com -d example.com -d www.example.com
    

    要配置重定向,首先打开 wp-config 文件:

    $ sudo vim /var/www/html/example.com/wp-config.php
    

    在“停止编辑”注释行上方插入以下内容:

    // HTTPS configuration
    define('WP_HOME','https://example.com');
    define('WP_SITEURL','https://example.com');
    define('FORCE_SSL_ADMIN', true);
    

    最后,通过 AWS 控制台更新防火墙:

    1. 登录到您的 EC2 / Lightsail 实例的 AWS 控制面板
    2. 选择防火墙部分中的网络选项卡,就在下方 桌子
    3. 选择添加另一个
    4. 默认情况下,自定义和 TCP 应预先填充在前两个字段中,保持原样
    5. 在端口范围字段中输入 443 选择保存

    然后只需重新加载您的 apache 配置:

    sudo service apache2 reload
    

    你应该很高兴。

    【讨论】:

      【解决方案4】:

      如果您正在寻找简单且免费的解决方案,请尝试https://letsencrypt.org/。他们为任何人提供易于遵循的文档。

      TLDR;前往https://certbot.eff.org/,选择你的操作系统和服务器类型,他们会给你4-5行安装来自动安装证书。

      在尝试之前,请确保您的域名使用 Route53 或弹性 IP 正确指向您的 EC2。

      例如,以下是在运行 nginx 的 Ubuntu EC2 上自动获取和安装 SSL 所需的全部内容

      $ sudo apt-get update
      $ sudo apt-get install software-properties-common
      $ sudo add-apt-repository ppa:certbot/certbot
      $ sudo apt-get update
      $ sudo apt-get install python-certbot-nginx 
      

      祝你好运!

      【讨论】:

      • 谢谢!我试试看!
      • 当我前往 CertBot 时,我应该选择哪些设置?谢谢。
      • 你的服务器是什么? Nginx 还是阿帕奇?使用的是什么操作系统?
      • 这是教程中的默认设置,所以我相信 Apache 和 Linux。
      • 然后选择 Apache 和你的 linux 发行版。如果您不确定它是哪一个,请谷歌“如何从终端找到我的 linux 发行版”。
      【解决方案5】:

      根据教程,由于您只配置了一个 EC2 实例,直接的方法是购买 SSL 证书并将其安装到 apache 服务器中。详细步骤按照教程 HOW TO ADD SSL AND HTTPS IN WORDPRESS How to Add SSL and HTTPS in WordPress.

      如果您计划使用 AWS Certificate Manager 颁发的免费 SSL 证书,则需要配置 Elastic Load Balancer 或 CDN CloudFront。如果您是 AWS 新手,这可能会变得复杂。如果您打算尝试使用 AWS Cloudfront,请按照How To Use Your Own Secure Domain with CloudFront 中的步骤操作。

      使用 Cloudfront 还可以提高性能,因为它会缓存您的内容并减少 EC2 实例的负载。但是,您将面临的挑战之一是避免混合内容问题。有一些 WordPress 插件能够解决混合内容问题,所以请尝试一下。

      【讨论】:

        猜你喜欢
        • 2019-09-18
        • 2018-03-17
        • 1970-01-01
        • 2013-05-02
        • 2020-10-31
        • 2017-04-07
        • 2018-07-13
        • 1970-01-01
        • 2014-11-05
        相关资源
        最近更新 更多