Eu preciso demonstrar e testar uma configuração do Squid, que deve ser uma lista negra por padrão, e permitir solicitações somente para URLs permitidos de redes conhecidas. Isso está em execução no meu ambiente de preparação e está funcionando como esperado, mas quero testá-lo e demonstrá-lo sob demanda, com um feedback mais agradável do que com o curl.
Eu implantei o Redbot ( link ), que configurei para enviar todas as solicitações HTTP por meio do proxy do Squid
Usando curl -x
da máquina Redbot, todos os meus testes passam, mas usando o aplicativo, o Squid retorna um 400, aconteça o que acontecer. Todos os pedidos vão para o Squid, e eu vejo todos os pedidos, mas em vez de retornar um 403 e X-Squid-Error: ERR_ACCESS_DENIED 0
, ou permitir a solicitação, cada solicitação recebe um 400 e X-Squid-Error: ERR_INVALID_URL 0
.
Pesquisando - logs e tcpdump - a principal diferença que vejo é que Redbot envia uma solicitação do formulário:
GET / HTTP/1.1
Host: chess.com
O Curl envia:
GET http://chess.com/ HTTP/1.1
Host: chess.com
A partir do RFC parece que o pedido do Redbot é perfeitamente válido, e assim Eu sinto que o Squid deveria fazer a coisa certa e deduzir do host cabeçalho que Redbot quer, e passar por suas ACLs. No entanto, apenas erros com:
HTTP/1.1 400 Bad Request
Server: squid/3.5.27
Mime-Version: 1.0
Date: Mon, 23 Apr 2018 11:50:23 GMT
Content-Type: text/html;charset=utf-8
Content-Length: 3465
X-Squid-Error: ERR_INVALID_URL 0
X-Cache: MISS from proxy.redaction.com
Via: 1.1 proxy.redaction.com (squid/3.5.27)
Isso parece um problema de configuração do Squid? Ou eu preciso fazer Redbot fazer um pedido como o Curl faz?
Atualização:
Adicionar intercept
à diretiva http_port
resultou na entrada do cabeçalho do Host na URL, mas agora o Squid fornece um 403, mesmo quando a ACL deve permiti-lo:
z1524498993.558 0 10.8.0.33 TCP_MISS/403 3985 GET
http://www.openstreetmap.com/ - HIER_NONE/- text/html
1524498993.559 0 10.8.2.19 TCP_MISS/403 4077 GET
http://www.openstreetmap.com/ - ORIGINAL_DST/10.8.0.33 text/html
acl cluster src 10.8.0.0/16
acl streetmap dstdomain .openstreetmap.com
http_access allow cluster streetmap
http_access deny all