一个应用程序在端口8080
上的docker容器中运行。容器IP为172.17.0.2
。
现在我有一个子域,例如subdomain.domain.com
,因此我创建了一个Apache反向代理服务器ProxyPass / http://172.17.0.2:8080
,我可以访问容器内的我的应用程序。
现在,我将应用程序的端口更改为9090
,因此现在我必须更改虚拟主机配置,而我不想这样做。我希望这件事是完全动态的,所以有什么办法可以让我的端口值保留在配置文件中的变量,以便可以通过调用subdomain.domain.com:9090
来访问它。
答案 0 :(得分:1)
好的,我找到了答案,我可以使用RewriteEngine
代替ReverseProxy
。
RewriteEngine on
RewriteRule ^/?([0-9]*) http://172.17.0.2:$1/ [L,P]
并使用特定端口访问容器,我将必须发出如下请求:
subdomain.domain.com/{{port}}
因此,如果我将应用程序端口更改为其他端口,请说7777
。我只需要向subdomain.domain.com/7777