1 votes

Apache mod_auth et mod_proxy ne fonctionnent pas ensemble

Je suis en train de configurer Apache en tant que frontal d'authentification pour une application web tournant sur le port 8080. L'application web n'a pas d'authentification, donc si vous curl localhost:8080 vous obtenez le site web. Le port 8080 est bloqué en externe, donc ce que je veux c'est qu'Apache authentifie un utilisateur accédant depuis le port 80 puis redirige vers le port 8080.

Je pense que cela devrait être possible, comme mentionné dans ce post sur stackoverflow : https://stackoverflow.com/questions/724599/setting-up-an-apache-proxy-with-authentication

J'ai essayé de reproduire ceci, cependant, je n'arrive pas à faire en sorte qu'Apache demande une authentification ; il redirige directement vers le proxy. Voici la configuration du virtual host :

  ServerName external.monwebsite.com

          Satisfy any
          require valid-user
          order allow,deny
          Allow from all

  ProxyRequests off
  ProxyPreserveHost on

  ProxyPass / http://localhost:8080/
  ProxyPassReverse / http://localhost:8080/

          Order deny,allow
          Allow from all
          AuthType Basic
          AuthName "Private"
          AuthBasicProvider file
          AuthUserFile /chemin/vers/htpasswd
          Require valid-user

Cela fonctionne dans la mesure où en naviguant vers external.mondomaine.com, le contenu de l'application backend s'affiche. Donc le proxy fonctionne, mais il semble que les directives d'authentification soient ignorées. J'ai également essayé de déplacer les directives d'authentification dans le bloc , mais cela a le même effet.

J'utilise Apache2 v2.2.22 tournant sur Ubuntu 12.04. Des suggestions ?

2voto

adaptr Points 16431

Satisfy any fait exactement ce qu'il dit : il permet l'accès basé sur l'authentification ou le contrôle d'accès par adresse IP.

Comme vous autorisez le premier dans le bloc Proxy et le second dans le bloc Location, l'authentification n'est jamais requise.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X