我正在尝试在 apache 中设置代理,如下所示:
<VirtualHost *:80>
ServerName test.public.domain
...
RewriteRule "^/dir/(.*)" "http://x-service.local/$1" [P,L]
...
同一台服务器上还有另一个 vhost 配置:
<VirtualHost *:80>
ServerName x-service.local
...
在/etc/hosts
Apache 服务器上我有以下条目:
x-service.local 127.0.0.1
当我curl test.public.domain/dir/xxx
从我的工作站执行此操作时,我得到了 5xx 代码。
当我curl x-service.local/xxx
从服务器本身执行此操作时,我得到了 200 代码。
当我改变
x-service.local 127.0.0.1
到
x-service.local 192.168.1.1
curl test.public.domain/dir/xxx
工作正常。192.168.1.1 是服务器接口的 IP。
- Apache 监听
0.0.0.0:80
- 没有防火墙
由于某种原因,代理到解析为环回接口的域似乎不起作用。我不明白为什么我想知道如何让它工作,因为这样的设置可以简化我对多个服务器的配置。