首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HTTPS负载均衡后端URL映射加载渲染页面失败

HTTPS负载均衡后端URL映射加载渲染页面失败
EN

Stack Overflow用户
提问于 2021-02-05 12:25:06
回答 2查看 174关注 0票数 6

我的应用程序使用HTTPS来运行所有使用docker-compose的服务。

应用程序运行时没有任何问题,我们正在尝试为所有服务设置HTTPS负载均衡器。

我们使用这个Documentation创建了一个负载均衡器。

我们添加了三个后端服务,并为所有后端服务设置了Host和path规则。

但在尝试查看以下HTTPS URL时

https://Loadbalancer-ip:/strapi

https://Loadbalancer-ip:/auth

https://Loadbalancer-ip:/images/1

我得到了404页。但它单独适用于所有未匹配的(默认)单独。

EN

回答 2

Stack Overflow用户

发布于 2021-08-08 22:36:10

我想帮助您解决当前的限制。

A URL redirect redirects your domain's visitors from one URL to another.

在部署URL映射之前,请确保验证URL映射配置,以确保映射按预期将请求路由到适当的后端。您可以通过向URL映射配置添加测试来完成此操作。

使用gcloud compute url-maps validate命令验证URL映射配置。

代码语言:javascript
运行
复制
gcloud compute url-maps validate --source PATH_TO_URL_MAP_CONFIG_FILE

PATH_TO_URL_MAP_CONFIG_FILE:替换为包含用于验证的URL映射配置的文件的路径。

验证对现有负载均衡器的URL映射的更改

如果您现有的负载均衡器需要更改URL映射,则可以在启用这些配置更改之前对其进行测试。

  1. 将负载均衡器的现有URL映射导出到YAML文件。

代码语言:javascript
运行
复制
gcloud compute url-maps export URL_MAP_NAME \
   --destination PATH_TO_URL_MAP_CONFIG_FILE \
   --global

  1. 使用新配置编辑YAML文件。例如,如果要编辑外部HTTP(S)负载均衡器,并将路径为/video的所有请求发送到名为video-backend-service的新后端服务,则可以将测试添加到

映射配置,如下所示:

具有单个默认web-backend-service的现有URL映射配置

代码语言:javascript
运行
复制
 kind: compute#urlMap
 name: URL_MAP_NAME
 defaultService: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendService/web-backend-service

为默认web-backend-service和新的video-backend-service后端服务添加了路径匹配器和测试,从而编辑了URL映射配置:

代码语言:javascript
运行
复制
 kind: compute#urlMap
 name: URL_MAP_NAME
 defaultService: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendService/web-backend-service
 hostRules:
 - hosts:
   - '*'
   pathMatcher: pathmap
 pathMatchers:
 - defaultService: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendService/web-backend-service
   name: pathmap
   pathRules:
   - paths:
     - /video
     - /video/*
     service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendService/video-backend-service
 tests:
 - description: Test routing to existing web service
   host: foobar
   path: /
   service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendService/web-backend-service
 - description: Test routing to new video service
   host: foobar
   path: /video
   service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendService/video-backend-service

验证新configuration.的

代码语言:javascript
运行
复制
gcloud compute url-maps validate --source PATH_TO_URL_MAP_CONFIG_FILE

如果所有测试都成功通过,您应该会看到一条成功消息,例如:

代码语言:javascript
运行
复制
Successfully validated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_CONFIG_FILE_NAME

如果测试失败,将显示一条错误消息。对URL映射配置文件进行所需的修复,然后再次尝试验证。

代码语言:javascript
运行
复制
Error: Invalid value for field 'urlMap.tests': ''.
Test failure: Expect URL 'HOST/PATH' to map to service 'EXPECTED_BACKEND_SERVICE', but actually mapped to 'ACTUAL_BACKEND_SERVICE'.

  1. 一旦您知道新配置有效并且不会影响现有设置,您就可以将其导入到URL映射中。请注意,此步骤还将使用新的configuration.

部署url映射

代码语言:javascript
运行
复制
gcloud compute url-maps import URL_MAP_NAME \
   --source PATH_TO_URL_MAP_CONFIG_FILE \
   --global

重要提示:如果您的负载均衡器最初是在云控制台设置的,则URL映射名称与您的负载均衡器名称相同。

玩得开心!

票数 1
EN

Stack Overflow用户

发布于 2021-04-06 10:33:05

  1. 您是指状态代码为404的页面,还是无法访问您的页面?

  1. 请确保您指定了正确的后端服务ip和端口。

是否要将service-ip:

  1. 映射到Loadbalancer-ip:/strapi
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66057563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档