¿Cómo puedo probar si mi servidor apache es un proxy abierto?

11

¿Existe un comando curl que valide si un servidor está actuando como un proxy abierto?

He intentado

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

Pero la respuesta de apache es:

Description: Could not process this "GET" request.
Será
fuente
10
Deberias hacer eso. Esa respuesta significa que no está actuando como un proxy, en ese puerto de todos modos. Si hubiera sido así, debería haber recibido la página de Yahoo (o la autenticación de proxy, o alguna otra respuesta de proxy).
Squillman
También debe intentar enviar un proxy a un sitio https, http / https se implementan de manera diferente. Los servidores proxy apache que he usado no funcionan así, por cierto, el servidor remoto (proxy) se especifica en una configuración en algún lugar. Es como cuando quieres que una página de un servidor aleatorio aparezca en tu sitio principal o algo así.
Algunos Linux Nerd
curl --proxy http: // <yourserver>: 80 https: //mail.google.com # <--- https
Algunos Linux Nerd
Además de las pruebas sugeridas anteriormente, puede verificar su configuración. Para configurar Apache como un proxy de reenvío se requiere "ProxyRequests On" (el valor predeterminado es off). Solo se puede habilitar en el nivel de host global (servidor) o virtual, por lo que no necesita buscar archivos htaccess.
creyente

Respuestas:

1

La respuesta simple es esta, si tiene ProxyRequests On(por defecto desactivado) en algún lugar de su configuración, entonces podría estar ejecutando un proxy abierto, si no lo hace, entonces no lo está, al menos desde el lado de la configuración de Apache.

Si todavía está recibiendo 200 OKentradas en su registro de acceso para solicitudes que parecen solicitudes de proxy de reenvío, probablemente sea porque tiene reescrituras generales que asignan cualquier solicitud a un controlador sin importar cómo se vea. Probablemente podría agregar condiciones para evitar esto si está preocupado.

No creyente
fuente