Squid en reverse sans cache - Sécurité - Systèmes & Réseaux Pro
Marsh Posté le 30-11-2009 à 22:57:11
Pour pas mettre en cache local tu met "proxy-only".
Après le pk tu as un 403 je sais pas. Si tu fais une trace la requette part sur ton backend ou reste sur le squid ? les logs disent quoi ?
Marsh Posté le 01-12-2009 à 09:32:22
Je vais me pencher sur la question a tête reposée et je vais bien regarder ce proxy-only. Sinon je crois avoir compris un truc: le reverse proxy s'apelle accellerator chez squid.. J'ai faux?
Pour le 403, je crois que ca reste sur le proxy, c'est un message de squid alors ca dois être dans les acl.
En tout cas merci de votre aide..
A suivre..
Marsh Posté le 01-12-2009 à 09:55:41
oui c'est accelerator. Je me focussais sur les acl and co mais ouais là t'es en proxy normal j'ai l'impression
Marsh Posté le 01-12-2009 à 10:00:51
Je@nb a écrit : oui c'est accelerator. Je me focussais sur les acl and co mais ouais là t'es en proxy normal j'ai l'impression |
Ok, alors je crois avoir compris le problème.. C'est pas possible de faire ce que je veux..
Si vous pouvez me dire ce que vous pensez de mon raisonnement:
Je trouve dans une doc sur le reverse proxy: (http://www.visolve.com/squid/sqguide.php)
For Configuring squid for Reverse Proxy |
Apparement ca me donne le choix entre accelérer un seul serveur ou bien des hotes virtuels.. Si ce ne sont pas des hotes virtuels.. Je l'ai bien ou je pense n'est ce pas? ^^ Ou alors je change de doc?
Marsh Posté le 01-12-2009 à 10:23:46
Marche pas un truc du genre ? :
http_port 80 accel defaultsite=your.main.website.name
acl toto urlpath_regex ^/toto
cache_peer ip.du.server.1 parent 80 0 no-query originserver name=server1
cache_peer_access server1 allow toto
acl toto urlpath_regex ^/titi
cache_peer ip.du.server.2 parent 80 0 no-query originserver name=server2
cache_peer_access server2 allow titi
acl toto urlpath_regex ^/tata
cache_peer ip.du.server.3 parent 80 0 no-query originserver name=server3
cache_peer_access server3 allow tata
Marsh Posté le 01-12-2009 à 10:40:07
Je ne sais pas mais je pense avoir trouvé une autre solution satisfaisante..
Je fait comme recommandé dans la doc en mode virtual et je met les ip des serveurs dans /etc/hosts. Je croyais que ca ne marchait que pour des serveurs locaux mais c'était une erreur.
Je reviendrais pour vous faire part des résultats.
Merci encore.
Marsh Posté le 02-12-2009 à 15:06:27
Ben si en fait ca marche.. et ce que j'avais trouvé c'était le même chose...
Maintenant je me heurte à un autre problème mais qui dois pouvoir se résoudre..
Dans mon exemple apache original, le premier répertoire après le nom du serveur n'était pas transmis au serveur caché, mais seulement le reste de l'url.
En demandant http://adressedureverseproxy/toto/foo/bar
je tombais sur http://totoserver/foo/bar
Avec cette config tout est transmi j'ai ca:
En demandant http://adressedureverseproxy/toto/foo/bar
je tombe sur http://totoserver/toto/foo/bar
Une idée sachant que je n'ai pas accès aux serveurs web?
Marsh Posté le 02-12-2009 à 16:51:59
Aller je vous embête une dernière fois (j'espère)
J'ai fait un joli script shell que voila:
|
dans ma conf je met :
redirector_program /adressedemonscript.sh
Les droits sont corrects, mais squid me sort:
[root@squid sh]# 2009/12/02 16:49:05| Starting Squid Cache version 3.0.STABLE20 for x86_64-unknown-linux-gnu... |
J'ai l'impression que mes redirectors doivent tourner sans s'aretter mais ca me parait louche..
Marsh Posté le 02-12-2009 à 17:38:22
Essaie un truc du genre :
#!/bin/bash
while true
do
read toto
echo $toto | sed 's/^\/titi//'
done
Marsh Posté le 02-12-2009 à 17:43:17
Ok merci.
J'avais essayé mais pas bien (le script faisait en plus un echo dans un fichier de log que j'avais oublié d'enlever, et ca a rempli mon fs, et j'ai du redémarer mon serveur parce qu'il croyais etre toujours full apres suppression des fichiers.. 10min pour redémarer ce monstre..)
Toutefois: tout fonctionne, et concernant ce redirector, voila le code pour ceux que ca interesse:
while read addr do
echo ...
done
Mettre le read addr comme condition du while permet de terminer le redirector lorsque qu'il recoit un EOF.
Marsh Posté le 08-01-2010 à 15:56:18
Bonjour,
Je remet ce thread en route car j'ai quelques petites questions.. Si les admins veulent que je crée un nouveau thread, pas de problème..
Ma question est à propos du systeme de lookup dns de squid.
Je souhaite désactiver complètement le lookup, de manière à ne pas avoir de process en ecoute sur le port 68 (udp).
J'ai essayé l'option de compilation --disable-internal-dns, mais en fait ca n'a rien à voir et squid utilise un programme externe à la place. Etant donné que les requetes n'utilisent en aucun cas des noms de domaines, je pense qu'il serait bon d'empêcher l'écoute sur le port 68, ce qui réduirait la surface d'attaque.
Si quelqu'un a une idée..
Merci!
Marsh Posté le 30-11-2009 à 18:37:46
Bonjour à tous,
Je dois installer un reverse proxy squid de manière à rediriger des requetes http sur différents serveurs en fonction du path de l'url.
Par exemple je reçoit:
http://ipdureverseproxy/toto/foo
Je veux renvoyer ce que je trouve sur http://ip.du.server.1/foo
Au départ on fonctionnait avec apache et le fichier de conf était le suivant (si ca peut vous donner une idée simple de ce que je souhaite faire):
ProxyPass /toto http://ip.du.serveur.1:port
ProxyPassReverse /toto http://ip.du.serveur.1:port
ProxyPass /titi http://ip.du.serveur.2:port
ProxyPassReverse /titi http://ip.du.serveur.2:port
ProxyPass /tata http://ip.du.serveur.3:port
ProxyPassReverse /tata http://ip.du.serveur.3:port
C'était simple et efficace mais ma boite veut passer à Squid pour des raisons de sécurité et veut au moins que quelqu'un sache comment faire..
L'ennui c'est que j'ai vraiment du mal à comprendre et à faire le merge de toutes les infos que je trouve sur Squid.
Je souhaite me faire un fichier de conf minimaliste qui me permet de faire la même chose et j'en suis arrivé à ca:
http_port 80
visible_hostname squid
acl toto urlpath_regex ^/toto
cache_peer ip.du.server.1 parent 80 0 no-query originserver name=server1
cache_peer_access server1 allow toto
acl toto urlpath_regex ^/titi
cache_peer ip.du.server.2 parent 80 0 no-query originserver name=server2
cache_peer_access server2 allow titi
acl toto urlpath_regex ^/tata
cache_peer ip.du.server.3 parent 80 0 no-query originserver name=server3
cache_peer_access server3 allow tata
Je n'ai pas trouvé de directive qui permet de relier toto à server1 autre que celle ci (cache_peer_access) alors que je ne veux pas de cache, donc j'ai bien peur que ca ne fasse pas ce que je veux, mais de toute facon j'obtiens une erreur 403 Forbidden, avec wget en local.
Si vous avez une idée de comment faire, ou vers quoi chercher... J'avoue que j'ai du mal à cerner jusqu'ou je dois configurer squid pour avoir un fonctionnement normal (Par exemple si je veux pouvoir accéder au reverse depuis le réseau local, il faut lui dire? En localhost aussi?)
Merci de votre aide.