Forçar redirecionamento de página no Squid

Publicado por Edson G. de Lima em 29/03/2005

[ Hits: 43.828 ]

 


Forçar redirecionamento de página no Squid



Você que administra um proxy com Squid, já pensou em redirecionar o usuário "infrator de regras" para uma página_web "específica"?!?

Nesta dica iremos descobrir que é possível... apenas customizando uma página de erro.

O que iremos fazer é redirecionar para nossa página customizada e logo em seguida, iremos forçar sua visita ao site (por exemplo) www.vivaolinux.com.br.

Vamos considerar que seu Squid seja com autenticação. Edite o squid.conf com as regras abaixo.

Antes da ACL que faz menção à autenticação:

acl TIMER_SQUID dstdomain .vivaolinux.com.br
http_access allow TIMER_SQUID
acl PASSWD proxy_auth REQUIRED

acl BARRAR url_regex "/diretório/arquivo_lista_barrar"
deny_info ERR_TIMER_SQUID BARRAR


# outras acl's...
# ...

http_access acl's que precisam ser liberadas...
http_access deny BARRAR
outras http_access...

Agora vem a edição da página customizada... Abra seu editor de texto favorito e digite o seguinte:

<html>
<meta http-equiv="refresh"
content="2;url=http://www.vivaolinux.com.br">
<head>
<title>REDIRECIONADOR</title>
</head>
<body bgcolor="32ff15">
<body>
<center>
<br>
<br>
<br>
<basefont size="5">
Em DOIS segundos você estará sendo levado <br>
<basefont size="7">
para um lugar muito melhor!!
</body>
</html>

Salve o arquivo com o nome de ERR_TIMER_SQUID (sem nenhuma extensão) no diretório que contém as páginas de erro (no caminho apontado no squid.conf).

Aplique o comando "squid -k reconfigure" e está feito!

Toda vez que seu usuário tentar ir para onde não deve, faça-o ler algo mais interessante!

Se você usa proxy transparente, as três primeiras linhas do exemplo de squid.conf desta dica NÃO são necessárias.

Os nomes acima podem ser modificados.

_______
Xxoin

Outras dicas deste autor

Dez coisas que você precisa saber sobre Zona Reversa. Com exemplos.

Squid: TAG visible_hostname

Quando o Squid NÃO reinicia depois de limpar os diretórios de cache

Descobrindo sockets de conexão

squid: ERROR: no running copy

Leitura recomendada

Personalizando GNOME Shell no Debian Wheezy

Converter certificados SSL com o OpenSSL

Iniciar aplicativos automaticamente no Fluxbox

Mandrake 9.1

Pasta Trash no KDE 4.4.5

  

Comentários
[1] Comentário enviado por HaCkErX em 19/05/2005 - 11:59h

Muito bom esse artigo, mas eu queria saber se você poderia me passar como que coloco uma autenticação no meu sistema via web, sendo, todo cliente para acesar a rede ou internet terá que autenticar na página.

[2] Comentário enviado por leandro.teixeira em 14/06/2005 - 18:36h

Boa tarde pessoal do VOL.
Como posso fazer para configurar o meu squid para filtro de conteúdo. Restrições não apenas a URL mas ao conteúdo texto do site. Tipo bloquear palavras (ex: sexo) no conteudo html da página.

[3] Comentário enviado por astrolabio em 27/01/2006 - 02:45h

não consegui fazer rodar esse script aprece esse erro: squid: ERROR: Could not send signal 1 to process 9972: (3) No such process, como posso solucionar isso? pois criei os arquivos necessarios, outra coisa pq no seu exemplo o acl BARRAR url_regex "/diretório/arquivo_lista_barrar"
o meu so funciona acl BARRAR url_regex -i"/diretório/arquivo_lista_barrar", inserindo o -i, pode me solucionar isso, grato

[4] Comentário enviado por rodrigomora em 10/03/2006 - 16:33h

não tem necessidade de faze tudo isso
eu fiz diferente e deu certo
tem que edita o seguinte arquivo ERR_ACCESS_DENIED (TODO maiusculo)essa tela seria a tela padrão de acesso negado do squid que se encontra no seguinte diretorio /usr/lib/squid/errors/English

assim naum precisa coloca acl no squid.conf
dai soh naum pode esquece de coloca um tempo para essa pagina rediriciona para uma outra.

[5] Comentário enviado por tgonet em 31/03/2006 - 17:03h

Muito bom esse comentpario do rodrigomora. Mas eu uso o Conectiva 10, e neste caso o caminho é /usr/share/squid/errors/English. Para deixar todas as mensagens de erro em Português basta alterar/incluir a seguinte linha no /etc/squid/squid.conf:
error_directory /usr/share/squid/errors/Portuguese
Aí neste caso, é claro que o caminho das URLs de erro mudaria para /usr/share/squid/errors/Portuguese . Dããã... hehehe :D

[6] Comentário enviado por mochileiro em 04/07/2006 - 10:31h

Eu precisava mesmo é de um redirecionamento único, para o 1º acesso, alguém tem idéia? Isso não resolve o meu problema...

[7] Comentário enviado por andriopj em 08/06/2009 - 19:28h

teria como redirecionar um usuario especifico?
tipo... um usuario da rede, com ip XXX.xxx.XXX.xxx
qdo fosse acessar qualquer pagina, ser redirecionado para essa pagina ai?

[8] Comentário enviado por luivilella em 30/11/2009 - 11:19h

quando é sitado editar ERR_ACCESS_DENIED, como eu faria para direcionar a pagina de erro para ex: /pgerror.html ????

[9] Comentário enviado por mgdias em 17/12/2009 - 00:13h

Aproveitando a pergunta de mochileiro também tenho a mesma necessidade, de que no primeiro acesso no dia o cliente seja direcionado para uma pagina, dai em diante o acesso ficaria liberado, indo direto para a pagina inicial configurado em seu navegador.

[10] Comentário enviado por adilsom em 04/10/2011 - 14:21h

ola, uma ajuda que deve ser simples, mas eu nao trabalho com proxy, entao preciso ajuda.

preciso redirecionar um determinado site

ex:
google.com.br
redirecionar para
yahoo.com.br

esta é a unica funçao que preciso do Squid

obrigado




[11] Comentário enviado por fabioyast em 12/11/2011 - 17:54h

na verdade preciso redirecionar a pagina inicial de todas as maquinas na rede para uma determinada pagina.
Uso proxy transparente com squid.
Obrigado

[12] Comentário enviado por gelcimarF em 14/03/2012 - 09:13h

quero redirencionar o site do facebook.com, tem como se utilizar esse método.

[13] Comentário enviado por kakopierre em 04/04/2014 - 17:00h

como que faz para mudar a cor dessa mensagen e o texto???



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts