我有两台服务器 A) 前端服务器 (ip 11.22.33.44),B) 后端服务器 (ip 22.33.44.55)。两台服务器均使用 Debian Linux 和 Apache 服务器。
A) 前端服务器使用反向代理显示 B) 后端服务器的内容。我想将后端服务器的 Apache 访问限制为 IP 11.22.33.44(只能从 A) 前端服务器访问)。后端服务器侦听启用 SSL 的端口 1111 和 2222(以服务于两个不同的反向代理站点)。
我在后端服务器上尝试过:
<Proxy "*">
Require ip 11.22.33.44
</Proxy>
和
<Proxy "*">
order deny,allow
Deny from from all
Allow from 11.22.33.44
</Proxy>
但我没有成功。我仍然可以访问带有 URL 的 Web 浏览器https://22.33.44.55:1111。
还有其他想法可以限制后端服务器对前端服务器 IP 地址的访问吗?
答案1
因此后端服务器是代理的目标,所以该Proxy
指令与此无关。
为了限制对后端的访问,后端配置文件的虚拟主机中类似这样的内容会将访问限制为仅发出代理请求的前端服务器......
<VirtualHost *:80>
DocumentRoot "/var/www/example.com"
ServerName example.com
...
<Location "/">
Require ip 11.22.33.44
</Location>
...
</VirtualHost>
您可以使用手册中的其他指令添加更精细的控制:
https://httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require