【问题标题】:How to install a SSL Certificate for a Wordpress website hosted in a Google Cloud Platform instance?如何为托管在 Google Cloud Platform 实例中的 Wordpress 网站安装 SSL 证书?
【发布时间】:2017-11-14 15:01:00
【问题描述】:
我刚刚收到一个包含 mydomain.crt 和 mydomain.ca-bundle 文件的 zip 文件。我想知道如何为托管在 Google Cloud Platform 实例中的 WordPress 网站安装证书。我为实例配置了常用的 Bitnami 软件(Apache 2.4.25、MySQL 5.7.18、OpenSSL 1.0.2k、PHP 7.0.18、phpMyAdmin 4.7.0、SQLite 3.7.15.1、Varnish 4.1.0、WordPress 4.8)。我发现了 WordPress 提供的插件,例如真正简单的 SSL 或 Cloudflare,但我想避免使用插件。谢谢。
【问题讨论】:
标签:
wordpress
ssl
google-cloud-platform
【解决方案1】:
您想按照apache 的说明将SSL cert 安装到您的网站上。这意味着,您需要通过生成密钥并重新启动服务器来安装证书。在云上或不在云上的托管服务器上应该无关紧要,它是一个 Web 服务器,尽管您必须确保端口 :443 在您的安全防火墙中是允许的,否则您的 https 请求将会改变。
完成此操作并且安装成功后,您应该会在 https 请求旁边看到一个锁,其中包含您在安装 ssl 证书时提供的域信息。让我们知道你遇到了什么样的问题,否则你应该很高兴。您可能需要使用 mysql 搜索将所有 http 的引用 url 更改为 https 并在之后替换查询。
【解决方案2】:
我在此页面Bitnami WordPress for Google Cloud Platform 中找到了所有必需的信息。生成证书(自签名或来自官方证书颁发机构)后,通常包含 2 个文件(yourdomian.crt 和 yourdomian.ca-bundle),最简单的过程是:
- 将这两个文件上传到 /opt/bitnami/apache2/conf
- 如果是全新安装,则在该文件夹中应该有 server.key、server.crt 和 server-ca.crt 原始文件。对它们进行备份并删除它们,或者只是将它们重命名为 server_b.key、server_b.crt 和 server-ca_b.crt
- 将 yourdomian.crt 重命名为 server.crt,将 yourdomian.ca-bundle 重命名为 server-ca.crt
- 在同一文件夹 /opt/bitnami/apache2/conf 中放置用于生成证书签名请求 (CSR) 的密钥的副本,并将密钥重命名为 server.key
- 如果您不是 root,请使用
sudo nano/opt/bitnami/apache2/conf/bitnami/bitnami.conf 打开配置文件。
- 如果使用 Apache v2.4.8+,则在该部分添加 SSLCACertificateFile "/opt/bitnami/apache2/conf/server-ca.crt",或 SSLCertificateChainFile "/opt/bitnami/apache2/conf/server-ca.crt"如果使用 Apache
- 使用
sudo chown root:root /opt/bitnami/apache2/conf/server* 和sudo chmod 600 /opt/bitnami/apache2/conf/server* 使您的文件只能由root 读取
- 用
sudo /opt/bitnami/ctlscript.sh restart apache重启apache
让证书颁发机构 (CA) 为我的 WordPress 网站生成 SSL 证书对我很有用,该证书托管在 Google Cloud VM 中,无需安装任何第三方插件。正如@unixmiah 指出的那样,不要忘记在服务器防火墙中打开端口 443。