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


11

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

我试过了

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

但是,apache的响应是:

Description: Could not process this "GET" request.

10
那应该做。该响应意味着无论如何在该端口上它都不充当代理。如果不是这样,您应该已经收到Yahoo的页面(或代理身份验证或其他某种代理响应)。
squillman 2014年

您还应该尝试代理到https站点,http / https的实现方式有所不同。我使用过的apache代理不能像这样工作,远程(代理)服务器是在某处的配置中指定的。这就像您希望随机服务器上的页面出现在主站点或其他站点上一样。
一些Linux Nerd

curl --proxy http:// <您的服务器>:80 https://mail.google.com#<--- https
某些Linux Nerd

除了上面建议的测试之外,您还可以检查配置。要将Apache配置为正向代理,需要“ ProxyRequests On”(默认为关闭)。它只能在全局(服务器)或虚拟主机级别启用,因此您无需搜索htaccess文件。
Unbeliever

Answers:



1

简单的答案是这样的,如果您ProxyRequests On在配置中的某处(默认为关闭),则可能正在运行一个开放代理,如果您不这样做,则至少在Apache配置方面,您不是。

如果您仍在200 OK访问日志中获得看起来像转发代理请求的请求条目,则可能是因为您具有全包重写,将任何请求映射到控制器,无论其外观如何。如果您担心,可以添加一些条件来防止这种情况。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.