我如何测试我的 apache 服务器是否是开放代理?

我如何测试我的 apache 服务器是否是开放代理?

是否有 curl 命令可以验证服务器是否充当开放代理?

我试过了

curl --proxy http://<my server>:80 http://yahoo.com

但是apache的响应是:

Description: Could not process this "GET" request.

答案1

您可以使用 Telnet 来验证:

telnet yoursite.example.com 80
GET http://www.yahoo.com/ HTTP/1.1
Host: www.yahoo.com

来源: https://wiki.apache.org/httpd/ProxyAbuse

答案2

简单的答案是这样的,如果ProxyRequests On您的配置中某处有(默认为关闭),那么您可能正在运行开放代理,如果没有,那么您就没有,至少从 Apache 配置方面来看是这样。

如果您的访问日志中仍然出现200 OK看起来像转发代理请求的请求条目,则可能是因为您有映射的 catchall 重写任何请求到控制器,无论它看起来如何。如果您担心,您可以添加条件来防止这种情况。

相关内容