Pular para o conteúdo

Forçar redirecionamento de página no Squid

Dica publicada em Linux / Configuração
Edson G. de Lima Xxoin
Hits: 44.959 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar

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

Descobrindo sockets de conexão

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

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

Squid: TAG visible_hostname

Portal do Software Livre (.gov)

aMule x D-Link

Driver SIS 671/771 + Xorg no Ubuntu 9.10 Karmic Koala

Skydome - papel de parede animado

Ganhando tempo no Terminal

Criando memória swap com a máquina em produção (ON-THE-FLY)

#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

Entre na sua conta para comentar.