是否可以在ProxyPass/ProxyPassReverse中使用相对路径?

Vol*_*lyy 6 apache proxy reverse-proxy apache2

例如,httpd.conf中有以下配置:

ProxyPass app   http://somehost:someport/App_1   
ProxyPassReverse app   http://somehost:someport/App_1   
Run Code Online (Sandbox Code Playgroud)

现在我应该使用绝对网址将请求从"/ myapp"转发到"/ app":

<Location /myapp >   
   ProxyPass http://localhost:8080/app
   ProxyPassReverse http://localhost:8080/app
</Location>
Run Code Online (Sandbox Code Playgroud)

是否可以在ProxyPass/ProxyPassReverse中使用相对路径?

<Location /myapp >  
   ProxyPass /app  
   ProxyPassReverse /app  
</Location>  
Run Code Online (Sandbox Code Playgroud)

Jon*_*Lin 4

不。

关于 ProxyPass 的 apache 文档说目标必须是 URL。如果您尝试输入不是 URL 的内容(例如/app),您会收到以下错误:

ProxyPass URL 必须是绝对的!

您应该改为查看mod_rewrite。它可以在服务器端重写请求,而无需重定向浏览器。给出 /myapp -> /app 示例,一些简单的规则就足够了:

RewriteRule ^/myapp /app [L]
Run Code Online (Sandbox Code Playgroud)