0

我正在尝试将http连接重定向到https我们服务器上的连接。

这是我现在的设置:

我有 2 条全球转发规则如下:

规则 1 将所有 https 连接重定向到我的实例 https://app.example.com

规则 2 将所有 http 连接重定向到我的实例 http://app.example.com

我正在运行 Finatra 服务器,我想将http://app.example.comapp.example.com 重定向到https://app.example.com

我已经设置了 SSL 等。https 效果很好,但我每次都需要手动编写。不知何故,我无法在 Google Cloud Console 中找到可以执行此操作的位置。

4

1 回答 1

0

要将 HTTP 流量重定向到 HTTPS,您必须执行以下操作:

  1. (先决条件)您必须有一个外部 HTTPS 负载平衡器(此处称为 LB1),它已经在端口 443 上提供 HTTPS 流量。

= = = = = = = = = >正如你在问题描述中提到的,你已经达到了先决条件。< = = = = = = = = =

  1. 创建部分外部 HTTP 负载平衡器(此处称为 LB2)。LB2 设置具有以下内容:

- 没有后端

-LB1使用的相同前端IP地址

- 在 URL 映射中配置的重定向

1.先决条件:设置外部HTTPS负载均衡器(LB1)

如果您尚未配置外部 HTTPS 负载平衡器,请使用以下指南之一来完成该设置。为您的后端类型选择一个过程:

Compute Engine 后端 后端存储桶 Cloud Run、App Engine 或 Cloud Functions 后端 外部后端 如果您已经有一个正常工作的 HTTPS 负载平衡器,请跳至将流量重定向到您的 HTTPS 负载平衡器。

2. 将流量重定向到您的 HTTPS 负载均衡器

在您确认您的外部 HTTPS 负载均衡器 (LB1)正常工作后,您可以创建部分外部 HTTP 负载均衡器 (LB2),并将其前端配置为将流量重定向到 LB1。

此示例使用 301 响应代码。您可以改为使用不同的响应代码。

要使用 配置重定向gcloud,您必须导入 YAML 文件并确保您的目标 HTTP 代理指向重定向流量的 URL 映射。如果您使用的是 Cloud Console,则会为您处理此问题。

开始配置

2.1 在谷歌云控制台中,进入负载均衡页面。

2.2 在 HTTP(S) 负载均衡下,点击开始配置。

2.3 选择从 Internet 到我的虚拟机,然后单击继续。

2.4 对于负载均衡器的名称,输入类似 http-redirect 的内容。

2.5 保持窗口打开以继续。

跳过后端配置

2.6 跳过后端配置部分。 此负载均衡器不需要后端。

在 URL 映射中配置重定向

2.7 在页面左侧,点击主机和路径规则。

2.8 选择高级主机和路径规则(URL 重定向、URL 重写)。

2.9 在操作下,选择将客户端重定向到不同的主机/路径。

2.10 将前缀重定向字段留空。

2.11 在路径重定向下,选择前缀重定向。

2.12 将路径值字段留空。

2.13 在重定向响应代码下,选择 301 - 永久移动。

2.14 在 HTTPS 重定向下,选择启用。

2.15 单击完成。

2.16 保持负载均衡器配置页面打开以继续。

配置与 LB1 中使用的 IP 地址相同的 HTTP 转发规则

2.17 在负载均衡器配置页面,点击前端配置。

2.18 将协议设置为 HTTP。

2.19 将 IP 地址设置为您用于 HTTPS 负载平衡器的相同 IP 地址。

2.20 确保端口设置为 80 以允许 HTTP 流量。

2.21 单击完成。

2.22 保持窗口打开以继续。

查看配置

2.23 在左侧面板中,单击 Review and finalize。

2.24 将您的设置与您打算创建的设置进行比较。

2.25 如果一切看起来都正确,请单击创建。

完成后,Cloud Console 会显示两个负载平衡器

于 2021-08-10T00:16:15.497 回答