问题标签 [google-cloud-http-load-balancer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
487 浏览

google-cloud-platform - 通过 HTTP/2 上的 gRPC 流访问 GCP 机器学习 API 的静态 IP

我们生活在企业代理/防火墙后面,它只能使用静态 IP 规则而不是 FQDN。对于我们的项目,我们需要访问 Google Speech To Text API https://speech.googleapis.com:. 如果在公司网络之外,我们使用 gRPC 流 over HTTP/2 来做到这一点。

理想的场景如下所示:
Corporate network -> static IP in GCP -> forwarded gRPC stream to speech.googleapis.com

我们尝试的是创建一个全局静态外部 IP,但在配置负载均衡器时失败,因为它只能连接到虚拟机而不是 API。

或者,我们正在考虑使用nslookup speech.googleapis.comIP 地址范围的输出并每天更新它,尽管它看起来很“脏”。

我知道我们可以配置计算引擎资源/虚拟机并转发流量,但这看起来也不是一个优雅的解决方案。最好,我们可以使用现有的 GCP 网络组件来实现这一点。

非常感谢您的任何指点!

0 投票
2 回答
169 浏览

google-cloud-platform - GCP:HTTP(S) 负载平衡后端服务区域选择

我们有什么:

  • 3 个有状态的后端服务器,位于不同的区域。
  • 每个区域的 Mqtt 代理(连接了 IoT 设备)。
  • 与特定区域相关的用户,能够看到他们的物联网数据。
  • 每个服务器的唯一主机名。

我们想要什么:

  • 一个主机名服务所有用户
  • Mqtt 仍然可以通过其唯一的主机名连接到每个后端
  • 重定向到哪里的决定应该来自用户信息,而不是来自 IP(例如 JWT 中的字段)

GCP HTTP(S) 负载均衡是否有能力做这样的思考,还是有技术限制?

任何想法将不胜感激!

0 投票
1 回答
46 浏览

google-app-engine - 使用 Firefox 和 App Engine 灵活环境发布 xhr blob 请求 (300kb) 失败

当我使用负载均衡器在 SSL 上下文中测试我的网站时。不可能发布大的 GZIPed 内容 (300kB) 。请求冻结在萤火虫中。如果要求更轻,它可以工作。

它适用于 Chrome 或其他浏览器。

我没有在应用引擎实例上看到日志请求。在 nginx 中看不到日志。在请求期间看不到负载均衡器上的日志。当请求失败时,我看到日志并且日志说它需要 60 秒(超时)

我在这里看到同样的问题:

Ajax 帖子被 firefox 中止(在 Chrome 或 IE 中看不到) (使用提琴手代理也有效)

尝试使用“async:false”不起作用。试图在 ajax 调用周围使用“setTimeout”不起作用。

请注意,当我将应用程序直接用于没有负载均衡器的实例时,打开端口,它可以完美地工作。

它在配置了 SSL 的 localhost 中完美运行。(自签名证书)

请注意,当我使用没有 SSL 的应用程序并使用负载均衡器时,它可以完美运行。

该请求以空信息(最后一个请求)出现在萤火虫中,并保持这种状态并且没有返回码。

在此处输入图像描述

在此处之后,它可能与负载均衡器配置有关。

带有 FormData 的 Firefox AJAX POST 永远不会完成

但它是 Google App 引擎负载平衡器。我没有手,也不知道堆栈。

这里的等效问题:

ajax 请求在 Firefox 中不起作用

另外,当我使用 Fiddler 代理拦截请求并解密它时,它可以工作!

0 投票
1 回答
258 浏览

google-cloud-platform - Gremlin 客户端通过基于 URL 的负载均衡器连接到 Gremlin / JanusGraph 服务器

由于安全策略,我有一个 JanusGraph 服务器集群(在内部 Kubernetes 网络中运行),外部 Gremlin 客户端可以通过以下网络路由访问它们:

客户端 --> 全局负载均衡器(基于 URL) --> 第三方防火墙 --> 内部负载均衡器 --> 图形服务器

全局负载均衡器暴露的端点类似于https://myhost.com/mypath1/mypath2/

curl这种方法适用于基于 HTTP(S) 的请求,因为在向上述全局负载均衡器端点发出命令时,我能够从 gremlin 服务器接收响应。

但是,我还有 2 个其他 gremlin 客户端使用模式:

  1. 使用gremlin.sh控制台
  2. 使用gremlin-python客户端(或更一般地说,WebSocket 客户端)

因此我的问题是:

  1. 在客户端remote.yaml使用的文件中gremlin.sh,如何在hostsport参数中指定全局负载均衡器端点?

    • 我尝试了一些组合(例如hosts= ['myhost.com']/['myhost.com/mypath1/mypath2'], port= 8182/443),但它们都不起作用
  2. gremlin-python客户端,我使用的是基于 WebSocket 的连接。如何使用上述端点指定 websocket 连接字符串?

    • 我尝试了各种连接字符串(例如ws(s)://myhost.com/mypath1/mypath2/gremlin),但它们也不起作用
0 投票
4 回答
899 浏览

google-cloud-platform - 我们可以在 GCP 中将非托管实例组用于外部 HTTPS 负载平衡器吗

我计划在 GCP 上创建一个外部 HTTPS 负载平衡器,但在我的用例中,没有相同配置的虚拟机,我需要确保它应该是高可用性 (HA) 设置。

因此,由于没有相同的虚拟机,我计划使用非托管实例组(用于 LB 中的后端服务配置),但在 gcp 文档中提到非托管实例组不适合 HA。

你能帮我看看我们需要为这个用例选择哪种方法吗?

提前致谢...

0 投票
1 回答
246 浏览

google-cloud-platform - 在 GCP 上配置 HTTPS 负载平衡器时,后端服务中的几个 VM 实例运行状况不佳

作为使用非托管实例组创建负载均衡器的一部分,我们创建了 4 个非托管实例组,每个实例组都包含一个虚拟机。

在 4 台 VM 中,2 台 VM 位于同一区域 europe-west1-c 且运行状况良好,另外 2 台 VM 位于 europe-west1-b 和 d 区域且运行状况不佳。

我们在后端服务的健康检查中保留了 TCP 和端口 80。我们为所有 4 个虚拟机使用一个后端服务。

请建议我们如何对这些不健康的实例进行故障排除并修复此问题,以便流量可以分布在所有 4 个虚拟机上。

0 投票
2 回答
400 浏览

google-cloud-platform - GCP 外部 http 负载平衡器 502 服务器错误:“failed_to_connect_to_backend”

我已经在 GCP 上配置了一个 http 外部负载均衡器,并且我的所有 vm 实例在后端都是健康的。但是,当我尝试从负载均衡器中保留的前端静态 IP 访问我的服务器(安装在 VM 上)时,它给了我 502 状态错误。

因此,我无法使用负载平衡器启动我的应用程序服务器。帮我解决这个问题。

提前谢谢你。

0 投票
1 回答
151 浏览

gcloud - 无法在 Google Cloud 中的现有 Kubernetes 服务上创建基于标头的外部 HTTPS LBS 路由规则

我正在尝试更改现有的外部 HTTPS LBS 配置以在 GCloud 上应用基于高级自定义标头的路由规则,但在更新 url-map 时出现以下错误

HTTPError 400:字段“resource.defaultService”的值无效:...方案EXTERNAL不支持高级路由规则

当前设置是作为服务公开的 Kubernetes 工作负载(部署),并具有基于路径的入口规则。仅供参考-基于路径的 LBS 有效。

示例网址映射

0 投票
1 回答
344 浏览

google-cloud-platform - GCP HTTP 负载平衡器到 TCP 负载平衡器

我想弄清楚如何将 TCP 负载平衡器与 GCP 中的 http/https 负载平衡器连接起来。

我已经在 GKE 集群上安装了 kong,它创建了一个 TCP 负载均衡器。

现在,如果我有多个带有 Kong 的 GKE 集群,它们都将拥有自己的 TCP 负载均衡器。

从用户的角度来看,我需要做一个 DNS 负载平衡,我认为这并不总是富有成效的。

所以我想弄清楚我是否可以使用 Cloud CDN、NEG 和/或 HTTP/HTTPS 负载均衡器作为 Kong 的 TCP 负载均衡器的前端。

有可能吗,还有其他选择吗...谢谢!!!

0 投票
1 回答
117 浏览

spring-mvc - 使用 GPC 部署 Spring MVC 应用程序:Cloud SQL、Kubernetes(服务和入口)和带有 Google 托管证书的 HTTP(S) 负载均衡器

让我解释一下部署的内容。首先,我通过导入一些数据创建了一个 Cloud SQL 数据库。要将数据库连接到我使用 cloud-sql-proxy 的应用程序,到目前为止一切正常。

我创建了一个 kubernetes 集群,其中有一个 pod,其中包含我想要分解的应用程序的 Docker 容器,到目前为止一切正常……为了在 https 中访问应用程序,我遵循了几个在线指南(https://cloud. google.com/load-balancing/docs/ssl-certificates/google-managed-certs#console,https://cloud.google.com/load-balancing/docs/ssl-certificates/google-managed-certs#console_ _等),都集中在使用服务和入口 Kubernetes 上。第一个将 spring 的 8080 映射到 80,而第二个创建一个负载平衡器,在 https 中公开一个前端。我配置了健康检查,我创建了一个与域相关联的证书(谷歌管理),该域映射分配给入口的静态 IP。

显然一切正常,但是一旦您尝试从浏览器访问地址https://example.org/,您就会正确地重定向到登录页面(http://example.org/login),但正如您所见,它会切换到 HTTP 协议,显然 404 由谷歌返回,因为 http 被禁用。出于某种荒谬的原因,在将您重定向到的地址( https://example.org/login )上强制使用 https 在域名(https://www.example.org/login)前添加“www”。如果您尝试通过切换到静态 IP 来不使用域,那么 www 问题就会消失……但是,每次您在 HTTPS 中发出请求时,它都会不断更改为 HTTP。

PS一般目标是让http到达负载均衡器(谷歌的内部网络),然后在负载均衡器和客户端之间使用https。

谁能帮我?如果有帮助,我会发布部署的 yaml 文件。非常感谢!