wordpress - 由 Google Domains 托管的由 Google Compute Engine 提供支持的 WordPress 站点...如何安装 SSL?
问题描述
谷歌似乎有一些将 SSL 分配给 App Engine 产品的自动化方法,但我只是在 Compute Engine 上安装了 Wordpress,并没有通过 App Engine 进行任何设置。
我的域是通过 Google 域托管的。我已将两者连接起来,但该网站未设置 SSL,因为 URL 具有 http 而不是 https。
我需要启用 App Engine 还是有办法为我的 Compute Engine 虚拟机实例实施 SSL 证书?
抱歉,如果问题很迟钝,云环境比我习惯的虚拟主机更具技术性。
解决方案
在这种情况下,您不需要使用 App Engine,并且您至少有两种解决方案:
解决方案 1
您可以为您的 Wordpress 站点设置负载均衡器——在我看来,这是最“无痛”和最简单的。您也不必担心 SSL 证书本身(您将获得一份并会自动更新)。
- 创建一个非托管实例组并包含运行 Wordpress 站点的 VM
- 为你的负载均衡器保留一个 IP
- 使用后端服务创建负载均衡器(使用您的实例组创建新服务 - 这是创建 LB 时的步骤之一)
- 在为 LB 创建前端时选择Google Manged Certificate
现在您必须将要解析的域定向到新 IP(您刚刚保留)。
解决方案 2
获得您自己的 SSL 证书 - 您可以从LetsEncrypt获得一份。从您部署站点的方式来看,您正在使用 Apache2 网络服务器运行 Debian 9。您可以在此处找到该场景的具体说明(官方 Certbot 文档)。这比第一个解决方案更麻烦,也更难做。您还可以在此处找到详细说明。
- - - - - - - - - 更新 - - - - - - - -
如何使用控制台创建 GCP HTTPS 负载均衡器:
- 转到网络服务 >负载平衡,然后单击“创建负载平衡器”;选择“HTTP(S) 负载平衡,
- 选择“从 Internet 到 mmy VM”,然后单击继续
name
- 选择你喜欢的任何东西;backend configuration
- 创建一个新的:- 以您喜欢的方式命名您的服务(例如 wordpress-lb),
backend type
- 选择实例组port
- 选择 HTTPS - 将其名称更改https
为更清晰- 在“New backedn”窗口中选择您的实例组并在“端口号”字段中输入 80;无需更改其他选项并单击“完成”按钮。
health check
- 选择“创建新的健康检查” - 输入您喜欢的任何名称;无需触摸其他任何东西;点击“保存并继续”- 您的服务已准备就绪 - 单击底部的“创建”按钮。
- 单击主机和路径规则(仅供查看)
- 单击“前端配置”-输入名称,选择 HTTPS 协议
- 选择您之前保留的 IP - 它会在列表中(除非它被其他一些服务使用)
- 选择端口 443
- 选择证书 - 如果您没有任何证书,请创建或上传:
- 现在单击“创建”以创建新的负载均衡器并等待一段时间。有时,所有服务都需要几分钟才能启动。
如果您想了解在 GCP 中创建负载均衡器的更详细说明,请查看GeekFlare 上的本教程。
推荐阅读
- java - 数组(小a)在没有import语句(import java.util.Arrays)的情况下在java中工作,这是为什么呢?
- apache-spark - 如何使用 Spark-shell 一次性从表的所有列中过滤掉所有空值?
- javascript - 如何将焦点从子窗口移回父窗口
- java - 黑莓无法使用 HTTPS 连接到某些网页
- sql - 如何使用列名作为过程参数来更新列值?
- java - Android Studio 错误:java.lang.IllegalArgumentException:没有这样的服务 ComponentInfo{com.example.notificationscheduler
- asp.net-core - 将客户端验证从.net core 2.0 转换为服务器端到 3.1
- docker - 无法在 CentOS 中启动 Docker:“docker.service 的作业已取消”
- firebase - 有什么方法可以不在 Firebase 身份验证中存储匿名用户?
- elasticsearch - Filebeat:收集一个输入到多个弹性搜索输出,每个输出都有不同的处理器集