使用 Apache 的 mod_proxy 作为网关时是否存在安全问题?

使用 Apache 的 mod_proxy 作为网关时是否存在安全问题?

为了应对 AJAX 调用的同源策略,我希望允许 mod_rewrite 和 mod_proxy 以类似方式处理这些调用,如另一个答案

rewriteEngine on
rewriteRule proxy/(.+)$ http://api.example.com/$1 [P]

然而,我在网上看到,使用 mod_proxy 可能是一件有风险的事情。

所以我的问题是:启用 mod_proxy 并以上述方式使用它是否存在任何安全问题?如果是这样,我应该选择哪种配置才能安全地使用 mod_proxy 网关?

谢谢,任何帮助我都会感激。

PS:是的,我知道 CORS 是解决同源问题的更合理方法,但是我正在处理的远程站点不太愿意支持 CORS,所以我不得不寻找替代方案。

答案1

一定要ProxyRequests Off防止滥用你的服务器作为开放代理;从文档

ProxyRequests Directive

Description:  Enables forward (standard) proxy requests
Syntax:       ProxyRequests On|Off
Default:      ProxyRequests Off
Context:      server config, virtual host

This allows or prevents Apache from functioning 
as a forward proxy server. (Setting ProxyRequests to Off 
does not disable use of the ProxyPass directive.)

In a typical reverse proxy or gateway configuration, 
this option should be set to Off.

关于安全问题:您会在日志中看到所有请求,因此请确保它们受到保护并且不包含可能用于获取未经授权访问的“有趣”信息,如令牌或其他内容。

相关内容