web-dev-qa-db-fra.com

Squid: transmettre à un autre proxy (avec les détails d'authentification pour le proxy parent)

En bref, je cherche un moyen simple de faire ce qui suit (veuillez donner des exemples de code si possible):

  • configurer et démarrer un serveur proxy sur mon ordinateur (par exemple, l'adresse est 10.10.200.200:6767) qui peut capturer toutes les demandes Web de mon téléphone
  • une fois que la demande du téléphone parvient à ce proxy, il ajoutera des détails d'authentification personnalisés (my_username/my_password) et les transmettra au proxy de l'institut (disons que l'adresse est 10.1.2.3:80)
  • Je n'ai besoin d'aucune mise en cache/accélération sur mon proxy local (10.10.200.200). Il doit juste intercepter la demande et la transmettre.

Maintenant, plus de détails pour expliquer pleinement ma situation:

Dans mon institut, l'authentification est nécessaire pour passer par un proxy afin que nous puissions nous connecter à Internet. J'entre normalement mon nom d'utilisateur/mot de passe LDAP pour m'authentifier lorsque la fenêtre apparaît.

Maintenant, je veux connecter mon téléphone à l'institut WiFi mais mon téléphone n'a pas l'option d'authentification avec proxy. Seule une adresse proxy peut être spécifiée. Je prévois donc de configurer un proxy local sur mon ordinateur pour intercepter toutes les demandes de mon téléphone, ajouter des détails d'authentification et les transmettre à mon proxy d'institut via mon ordinateur.

J'ai installé squid3 (sur Ubuntu), mais en regardant le fichier de configuration, je suis perdu. J'ai essayé de googler mais ça a l'air trop compliqué.

En espérant que quelqu'un puisse vous aider.

28
Neo

J'ai pensé à partir des didacticiels de Squid que la configuration la plus simple pour ce faire est:

http_access allow all
http_port 3128

coredump_dir /var/spool/squid3
refresh_pattern ^ftp:       1440    20% 10080
refresh_pattern ^Gopher:    1440    0%  1440
refresh_pattern -i (/cgi-bin/|\?) 0 0%  0
refresh_pattern (Release|Packages(.gz)*)$      0       20%     2880
refresh_pattern .       0   20% 4320

cache_peer 10.1.2.3 parent 80 0 no-query default login=my_username:my_password
never_direct allow all

Ces lignes devraient vous procurer un serveur proxy fonctionnel sur votre ordinateur local qui transfère toutes les demandes à un autre serveur proxy (modifiez les adresses IP en conséquence). Cependant, veuillez noter que dans le script ci-dessus, j'ai désactivé tout contrôle d'accès/filtres, donc potentiellement, n'importe qui peut se connecter et utiliser votre proxy. Vous devez ajouter un code supplémentaire pour restreindre l'entrée à certains appareils uniquement.

33
Neo