Apache 基于子路径的反向代理两台服务器

Apache 基于子路径的反向代理两台服务器,apache,reverse-proxy,Apache,Reverse Proxy,阿帕奇问题。一定很简单,但我失败了 我试图将apache配置为它后面两台服务器的反向代理。棘手的是,注册代理规则的唯一区别是子路径 我的想法是: mydomain.com -> localhost:8083 mydomain.com/api -> localhost:8080/api 目前我的配置如下: <VirtualHost *:80> ProxyPreserveHost On ProxyRequests Off Se

阿帕奇问题。一定很简单,但我失败了

我试图将apache配置为它后面两台服务器的反向代理。棘手的是,注册代理规则的唯一区别是子路径

我的想法是:

mydomain.com -> localhost:8083
mydomain.com/api -> localhost:8080/api
目前我的配置如下:

<VirtualHost *:80>
        ProxyPreserveHost On
        ProxyRequests Off
        ServerName mydomain.com
        ServerAlias www.mydomain.com

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        ProxyPass / http://localhost:8083/
        ProxyPassReverse / http://localhost:8083/

        ProxyPass /api http://localhost:8080/api #already tried with slashes on both first and second parameters
        ProxyPassReverse /api http://localhost:8080/api #already tried with slashes on both first and second parameters

</VirtualHost>

代理主机
代理请求关闭
ServerName mydomain.com
ServerAlias www.mydomain.com
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
ProxyPass/http://localhost:8083/
ProxyPassReverse/http://localhost:8083/
ProxyPass/apihttp://localhost:8080/api #已经在第一个和第二个参数上尝试了斜杠
ProxyPassReverse/apihttp://localhost:8080/api #已经在第一个和第二个参数上尝试了斜杠
但是/api不起作用,它一直将请求发送到8083。你知道为什么吗


感谢您的关注

尝试在“/”之前执行“/api”ProxyPass+ProxyPassReverse。我强烈怀疑“/”起到了一网打尽的作用,而你永远也不会涉及到“/api”一案。这就解释了为什么总是转到8083,这是“/”的情况

<VirtualHost *:80>
        ProxyPreserveHost On
        ProxyRequests Off
        ServerName mydomain.com
        ServerAlias www.mydomain.com

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        ProxyPass /api http://localhost:8080/api #already tried with slashes on both first and second parameters
        ProxyPassReverse /api http://localhost:8080/api #already tried with slashes on both first and second parameters

        # do this last...
        ProxyPass / http://localhost:8083/
        ProxyPassReverse / http://localhost:8083/


</VirtualHost>

代理主机
代理请求关闭
ServerName mydomain.com
ServerAlias www.mydomain.com
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
ProxyPass/apihttp://localhost:8080/api #已经在第一个和第二个参数上尝试了斜杠
ProxyPassReverse/apihttp://localhost:8080/api #已经在第一个和第二个参数上尝试了斜杠
#最后做这个。。。
ProxyPass/http://localhost:8083/
ProxyPassReverse/http://localhost:8083/