将Google Cloud VM扩展底座端口Map到HTTPS

hlswsv35  于 2022-10-06  发布在  Go
关注(0)|答案(1)|浏览(138)

我有一个运行坞站映像的Google Cloud VM。Docker映像运行一个特定的Java应用程序,该应用程序在端口1024上运行。我已将我的域域名指向VM公网IP。

这很管用,因为我可以访问mydomain.com:1024并访问我的应用程序。因为Google Cloud直接将扩展底座端口公开为公共端口。但是,我想通过https://example.com(端口443)访问该应用程序。所以基本上将端口443Map到我的VM中的端口1024。

请注意,我的docker映像启动了一个nginx服务。之前我将Java应用程序配置为在端口443上运行,然后nginx服务监听443,Google Cloud公开了这个HTTPS端口,所以一切都运行得很好。但出于特定原因,我不能再将端口443用于我的应用程序。

有什么主意吗?我可以以某种方式配置nginx以Map到此端口吗?或者我要设置一个负载均衡器来代理流量(这看起来相当复杂,因为这对我来说都是非常新的)?

PS。在Google Cloud中,您不能使用“docker run-p443:1024...”如果我是对的,这基本上也是一样的。但容器化的VM不允许这样做。

q9rjltbz

q9rjltbz1#

容器优化操作系统将端口一一对应。容器中的端口1000Map到公共接口上的1000。我不知道有什么方法可以改变这一点。

对于您的情况,可以使用带有Docker的计算引擎或负载均衡器来代理连接。

注意:如果您使用的是负载均衡器,您的应用程序不需要管理SSL/TLS。将SSL/TLS卸载到负载均衡器,只需在您的应用程序中发布HTTP。然后,Google可以为您管理您的SSL证书的颁发和续订。您会发现管理容器的SSL证书是一项部署难题。

相关问题