Como todos sabem é possível personalizar aquela mensagem de ACCESS DENIED que o squid nos mostra quando tentamos acessar algum site bloqueado, por se tratar de uma página HTML é possível fazer muitas coisas com ela, e deixá-la personalizada da maneira desejada.
Para cada mensagem de erro o squid possui um arquivo para tratá-la. Irei me deter somente a mensagem de acesso negado.
Para podermos personalizar a mensagem que aparece devemos acessar o local onde estão armazenadas as mensagens. No no meu caso em:
/usr/share/squid/errors/Personalizado
Personalizado é o nome do diretório onde deixei minhas mensagens de erros personalizadas.
Utilizando o vi podemos editar a mensagem, inserir imagens e outras coisas mais.
O squid disponibiliza uma lista de códigos que ao serem incorporado a mensagem nos retornam algo.
A listá é a seguinte:
- %a
- User identity
- %B
- URL with FTP %2f hack
- %c
- Squid error code
- %d
- seconds elapsed since request received (not yet implemented)
- %D
Squid-generated
error details. May contain other error page formating codes. Currently
only SSL connection failures are detailed. For example, %D in a
customized ERR_SECURE_CONNECT_FAIL response may be expanded
into "The host name you are connecting to (foo.com) does not match any
of the certificate names (foo.org, foo.net)..."). Supported since Squid
v3.2.0.4. See also: application-level error code (%x) and system level
error code/detail (%e/%E).
- %e
- errno
- %E
- strerror()
- %f
- FTP request line
- %F
- FTP reply line
- %g
- FTP server message
- %h
- cache hostname
- %H
- server host name
- %i
- client IP address
- %I
server IP address (NP: upper case i)
- %l
Local site CSS stylesheet. (Squid-3.1 and later) (NP: lower case L)
- %L
contents of err_html_text config option
- %M
- Request Method
- %m
- Error message returned by external auth helper
- %o
- Message returned by external acl helper
- %p
- URL port \#
- %P
- Protocol
- %R
- Full HTTP Request
- %S
- squid default signature. (Squid prior to 3.1 automatically add unless %s is used.)
- %s
- caching proxy software with version
- %t
- local time
- %T
- UTC
- %U
- URL without password
- %u
- URL with password. (Squid-2.5 and later only.)
- %W
- Extended error page data URL-encoded for mailto links.
- %w
- cachemgr email address
- %x
- Application-level
error name or identifier (e.g., X509_V_ERR_UNABLE_TO_GET_CRL).
Currently only supported for SSL certificate validation errors. See
also: system-level error code/detail (%e/%E) and application-level error
detail (%D).
- %z
- DNS server error message
- %Z
- Message generated during the process which failed. May be ASCII-formatted. Use within HTML PRE tags.
- Fonte: http://wiki.squid-cache.org/Features/CustomErrors
Após personalizarmos nossa página devemos dizer para o squid de onde ele deve buscar essas informações:
Devemos editar o arquivo squid.conf
#vi /etc/squid/squid.conf
Localizar error_directory /usr/share/squid/errors/English
E alterar para o diretório criado.
error_directory /usr/share/squid/errors/Personalizado
Após isso é necessário executar o comando:
squid -k reconfigure
Assim as novas configurações do squid entram em vigor.