如何在 apache2 中为转发代理设置某种身份验证?

如何在 apache2 中为转发代理设置某种身份验证?

我有一个 VPS 并将其配置为运行 apache2 作为正向代理:

<IfModule mod_proxy.c>
ProxyRequests On
<Proxy vps_ip:80>
Order deny,allow
Deny from all
Allow from all
</Proxy>
</IfModule>

这样我就可以使用家里机器上的 VPS 从网络下载资源,使用 curl:

curl -x "vps_ip:80"  http://www.someresource.com -o /tmp/mydown

但是,我知道这被视为开放代理,我想将其仅用于我的家用机器。Apache 配置支持代理客户端(如我的家用机器)的静态 IP 白名单。但是,每次我连接到互联网时,我的 ISP 都会为我分配不同的动态 IP。

如何防止其他人在我的 VPS 上使用我的正向代理?

答案1

一种常见的方法是告诉 apache 仅在 VPS 上监听本地主机:

Listen 127.0.0.1:80

然后使用 ssh 将家用机器上的本地端口“转发”到 VPS 端口。

ssh -L 8000:localhost:80 user@vps

然后使用本地端口的 curl 应该通过 vps apache:

curl -x "localhost:8000" http://someresource.com -o /tmp/mydown

相关内容