Como posso testar se meu servidor apache é um proxy aberto?

11

Existe um comando curl que validará se um servidor está agindo como um proxy aberto?

eu tentei

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

Mas a resposta do apache é:

Description: Could not process this "GET" request.
Vai
fonte
10
Isso deve resolver. Essa resposta significa que não está atuando como proxy, nessa porta de qualquer maneira. Se tivesse sido, você deveria ter recebido a página do Yahoo (ou autenticação por proxy ou outra resposta de proxy).
squillman
Você também deve tentar fazer o proxy para um site https, http / https são implementados de maneira diferente. Os proxies do apache que usei não funcionam assim, o servidor remoto (proxy) é especificado em uma configuração em algum lugar. É como quando você deseja que uma página de um servidor aleatório apareça no site principal ou algo assim.
Alguns Linux Nerd
curl --proxy http: // <servidor>: 80 https: //mail.google.com # <--- https
Algum Linux Nerd
Além dos testes sugeridos acima, você pode apenas verificar sua configuração. Para configurar o Apache como um proxy de encaminhamento, é necessário "ProxyRequests On" (o padrão é desativado). Ele só pode ser ativado no nível do host global (servidor) ou virtual, para que você não precise pesquisar arquivos htaccess.
Unbeliever

Respostas:

1

A resposta simples é esta: se você tem ProxyRequests On(o padrão é desativado) em algum lugar da sua configuração, pode estar executando um proxy aberto; caso contrário, não o é, pelo menos do lado da configuração do Apache.

Se você ainda está recebendo 200 OKentradas no log de acesso para solicitações que se parecem com solicitações de proxy de encaminhamento, provavelmente é porque você conseguiu reescrever que mapeia qualquer solicitação para um controlador, independentemente da aparência. Você provavelmente pode adicionar condições para evitar isso se estiver preocupado.

Incrédulo
fonte