问题标签 [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.
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.com
IP 地址范围的输出并每天更新它,尽管它看起来很“脏”。
我知道我们可以配置计算引擎资源/虚拟机并转发流量,但这看起来也不是一个优雅的解决方案。最好,我们可以使用现有的 GCP 网络组件来实现这一点。
非常感谢您的任何指点!
google-cloud-platform - GCP:HTTP(S) 负载平衡后端服务区域选择
我们有什么:
- 3 个有状态的后端服务器,位于不同的区域。
- 每个区域的 Mqtt 代理(连接了 IoT 设备)。
- 与特定区域相关的用户,能够看到他们的物联网数据。
- 每个服务器的唯一主机名。
我们想要什么:
- 一个主机名服务所有用户
- Mqtt 仍然可以通过其唯一的主机名连接到每个后端
- 重定向到哪里的决定应该来自用户信息,而不是来自 IP(例如 JWT 中的字段)
GCP HTTP(S) 负载均衡是否有能力做这样的思考,还是有技术限制?
任何想法将不胜感激!
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 引擎负载平衡器。我没有手,也不知道堆栈。
这里的等效问题:
另外,当我使用 Fiddler 代理拦截请求并解密它时,它可以工作!
google-cloud-platform - Gremlin 客户端通过基于 URL 的负载均衡器连接到 Gremlin / JanusGraph 服务器
由于安全策略,我有一个 JanusGraph 服务器集群(在内部 Kubernetes 网络中运行),外部 Gremlin 客户端可以通过以下网络路由访问它们:
客户端 --> 全局负载均衡器(基于 URL) --> 第三方防火墙 --> 内部负载均衡器 --> 图形服务器
全局负载均衡器暴露的端点类似于https://myhost.com/mypath1/mypath2/
curl
这种方法适用于基于 HTTP(S) 的请求,因为在向上述全局负载均衡器端点发出命令时,我能够从 gremlin 服务器接收响应。
但是,我还有 2 个其他 gremlin 客户端使用模式:
- 使用
gremlin.sh
控制台 - 使用
gremlin-python
客户端(或更一般地说,WebSocket 客户端)
因此我的问题是:
在客户端
remote.yaml
使用的文件中gremlin.sh
,如何在hosts
和port
参数中指定全局负载均衡器端点?- 我尝试了一些组合(例如
hosts
= ['myhost.com']/['myhost.com/mypath1/mypath2'],port
= 8182/443),但它们都不起作用
- 我尝试了一些组合(例如
在
gremlin-python
客户端,我使用的是基于 WebSocket 的连接。如何使用上述端点指定 websocket 连接字符串?- 我尝试了各种连接字符串(例如
ws(s)://myhost.com/mypath1/mypath2/gremlin
),但它们也不起作用
- 我尝试了各种连接字符串(例如
google-cloud-platform - 我们可以在 GCP 中将非托管实例组用于外部 HTTPS 负载平衡器吗
我计划在 GCP 上创建一个外部 HTTPS 负载平衡器,但在我的用例中,没有相同配置的虚拟机,我需要确保它应该是高可用性 (HA) 设置。
因此,由于没有相同的虚拟机,我计划使用非托管实例组(用于 LB 中的后端服务配置),但在 gcp 文档中提到非托管实例组不适合 HA。
你能帮我看看我们需要为这个用例选择哪种方法吗?
提前致谢...
google-cloud-platform - 在 GCP 上配置 HTTPS 负载平衡器时,后端服务中的几个 VM 实例运行状况不佳
作为使用非托管实例组创建负载均衡器的一部分,我们创建了 4 个非托管实例组,每个实例组都包含一个虚拟机。
在 4 台 VM 中,2 台 VM 位于同一区域 europe-west1-c 且运行状况良好,另外 2 台 VM 位于 europe-west1-b 和 d 区域且运行状况不佳。
我们在后端服务的健康检查中保留了 TCP 和端口 80。我们为所有 4 个虚拟机使用一个后端服务。
请建议我们如何对这些不健康的实例进行故障排除并修复此问题,以便流量可以分布在所有 4 个虚拟机上。
google-cloud-platform - GCP 外部 http 负载平衡器 502 服务器错误:“failed_to_connect_to_backend”
我已经在 GCP 上配置了一个 http 外部负载均衡器,并且我的所有 vm 实例在后端都是健康的。但是,当我尝试从负载均衡器中保留的前端静态 IP 访问我的服务器(安装在 VM 上)时,它给了我 502 状态错误。
因此,我无法使用负载平衡器启动我的应用程序服务器。帮我解决这个问题。
提前谢谢你。
gcloud - 无法在 Google Cloud 中的现有 Kubernetes 服务上创建基于标头的外部 HTTPS LBS 路由规则
我正在尝试更改现有的外部 HTTPS LBS 配置以在 GCloud 上应用基于高级自定义标头的路由规则,但在更新 url-map 时出现以下错误
HTTPError 400:字段“resource.defaultService”的值无效:...方案EXTERNAL不支持高级路由规则
当前设置是作为服务公开的 Kubernetes 工作负载(部署),并具有基于路径的入口规则。仅供参考-基于路径的 LBS 有效。
示例网址映射
google-cloud-platform - GCP HTTP 负载平衡器到 TCP 负载平衡器
我想弄清楚如何将 TCP 负载平衡器与 GCP 中的 http/https 负载平衡器连接起来。
我已经在 GKE 集群上安装了 kong,它创建了一个 TCP 负载均衡器。
现在,如果我有多个带有 Kong 的 GKE 集群,它们都将拥有自己的 TCP 负载均衡器。
从用户的角度来看,我需要做一个 DNS 负载平衡,我认为这并不总是富有成效的。
所以我想弄清楚我是否可以使用 Cloud CDN、NEG 和/或 HTTP/HTTPS 负载均衡器作为 Kong 的 TCP 负载均衡器的前端。
有可能吗,还有其他选择吗...谢谢!!!
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 文件。非常感谢!