登录
首页 >  Golang >  Go问答

如何使Cloud Run同时暴露两个端口

来源:stackoverflow

时间:2024-02-15 11:03:21 194浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《如何使Cloud Run同时暴露两个端口》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

问题内容

我有一个在容器中的两个不同端口上运行 REST 和 gRPC 服务器的服务。我希望能够公开这两个端口,而不是两次使用 gRPC 和一次使用 REST 运行相同的服务。有什么解决办法吗?

有关服务的一些说明:

  1. REST 和 gRPC 都会在部署容器时启动。
  2. 它们有不同的启动逻辑
  3. 大多数情况下进行更改都会影响 GRPC 和 REST。
  4. 大部分代码更改发生在 GRPC 和 REST 使用的服务中。

话虽如此,应该单独运行 REST 和 gRPC 更有意义,或者将其放在同一个容器中。另一个挑战是我们希望 gRPC 服务器只能被运行该项目的内部服务访问,而 REST 可以通过 nginx 服务器被公共代理访问。

请分享您的想法。谢谢!


正确答案


您无法为 Cloud Run 应用程序代理两个端口。您的应用程序可以监听任意数量的端口,但只能代理一个端口。

Cloud Run 前端公开端口 80 (HTTP) 和 443 (HTTPS)。如果客户端连接到端口 80,客户端将被重定向到端口 443。您的应用程序必须侦听配置的端口号(默认为 8080)。然后,Cloud Run 将端口 443 上的请求代理到应用程序的配置端口。

根据您问题中的详细信息,我将部署两个 Cloud Run 服务。

到这里,我们也就讲完了《如何使Cloud Run同时暴露两个端口》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>