创建到动态端口的Apache反向代理

时间:2018-06-24 13:20:26

标签: apache amazon-web-services docker networking reverse-proxy

一个应用程序在端口8080上的docker容器中运行。容器IP为172.17.0.2

现在我有一个子域,例如subdomain.domain.com,因此我创建了一个Apache反向代理服务器ProxyPass / http://172.17.0.2:8080,我可以访问容器内的我的应用程序。

现在,我将应用程序的端口更改为9090,因此现在我必须更改虚拟主机配置,而我不想这样做。我希望这件事是完全动态的,所以有什么办法可以让我的端口值保留在配置文件中的变量,以便可以通过调用subdomain.domain.com:9090来访问它。

1 个答案:

答案 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

发出请求就无需进行任何更改