nginx - Cloud Run 中的 API 和虚拟机中的 Nginx 反向代理

标签 nginx google-cloud-platform google-cloud-endpoints api-gateway google-cloud-run

我已将 6 个不同的基于 Flask 的应用程序部署到 Google Cloud Run。当我通过自动生成的 URL 访问它们时,它们工作得很好。现在,我想用不同的路由将所有 6 个服务统一在一个域名下。例如,
mydomain.com/user -> https://custom-user-asdtgthyju-de.a.run.app
mydomain.com/product -> https://custom-product-asdtgthyju-de.a.run.app

我尝试过的事情
1. Nginx 部署在单独的 VM 中,并带有到云运行 URL 的反向代理
不工作,相同的配置 - 部署在常规 VM 中的相同代码可以工作,但对于云运行部署显示未找到路由“/用户”

2. 使用 ESPv2 的云端点
https://cloud.google.com/endpoints/docs/openapi/get-started-cloud-run
让它按照我的要求工作,但无法传递自定义 header ,就像我使用 X-API-KEY 进行身份验证一样,它甚至无法进入 Cloud Run。它正在被 ESPv2 本身剥离。

请帮助,我如何在云运行服务前配置反向代理/API 网关。有没有人试过外部 Nginx 到 Cloud Run 映射?

谢谢

最佳答案

使用 URL 路由获取单个域的最简单方法是使用 Firebase Hosting and its's redirection to Cloud Run .您可以将您的域添加到 Firebase 托管并根据其来源 (URL) 重定向到特定的 Cloud Run 服务。

关于nginx - Cloud Run 中的 API 和虚拟机中的 Nginx 反向代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62382302/

相关文章:

python - 如何使用 Nginx 将 404 请求重定向到 Django 单页应用程序中的主页?

java - Google Cloud Endpoints - 在资源 getter 中返回另一个资源

android - 将客户端 ID 添加到 android 的 appengine 后端

ubuntu - 使用 Nginx 和 HHVM 增加最大执行时间

PHP-cgi 随机停止工作,没有错误日志

nginx - 使用 nginx 软件重新流式传输另一个流

kubernetes - 如何将 Pod 移动到新的节点池/实例组

kubernetes - service.yaml中GCE的负载均衡器超时注释

docker - 单节点kubernetes集群上的HPA实现

java - 尝试执行 Blob 存储并将表单数据添加到数据存储 预检错误