【问题标题】:Create Apache reverse proxy to a dynamic port为动态端口创建 Apache 反向代理
【发布时间】:2018-06-24 13:20:25
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案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 提出请求

    【讨论】: