Question Comment configurer mod_auth_cas pour un VirtualHost?


J'ai le suivant dans /etc/apache2/httpd.conf:

Include /private/etc/apache2/passenger_pane_vhosts/*.conf

J'ai le suivant dans /etc/apache2/passenger_pane_vhosts/my_site.conf:

LoadModule auth_cas_module /usr/libexec/apache2/mod_auth_cas.so
CASCookiePath /tmp/mod_auth_cas/
CASVersion 2
CASDebug on
CASValidateServer off
CASAllowWildcardCert on
CASTimeout 86400
CASIdleTimeout 7200
CASLoginURL https://cas.mycompany.com/cas/login
CASValidateURL https://cas.mycompany.com/cas/serviceValidate
CASCookieDomain hattip-dev.mitre.org

LogLevel debug

<VirtualHost *:80>
  LogLevel debug
  ServerName hattip.local
  DocumentRoot "/path/to/rails_app/public"
  RailsEnv development
  <Location />
    AuthType CAS
    AuthName "MyCompany CAS"
    CASAuthNHeader MOD_AUTH_CAS_USER
    require valid-user
  </Location>
  <directory "/path/to/rails_app/public">
    Order allow,deny
    Allow from all
  </directory>
</VirtualHost>

Apache va bien démarrer, mais chaque demande adressée à mon application Rails renvoie un 403 sans être redirigé vers mon serveur CAS. Il n’existe aucune information liée au CAS dans les journaux, même si CASDebug est on et LogLevel est debug partout je peux penser à le définir.

PS: J'ai essayé quelques variantes de la configuration ci-dessus, y compris la mise en mod_auth_cas déclarations à l'intérieur du <VirtualHost> définition, mais la plupart échouent au démarrage. J'ai aussi essayé de supprimer le <Location> bloquer et déplacer cette authentification dans le <Directory> bloquer: pas de changement.

Est-ce que quelqu'un sait comment je peux obtenir mod_auth_cas réellement rediriger vers mon serveur CAS?

(Bouger de StackOverflow)


5
2017-09-21 14:34


origine




Réponses:


Je l'ai. La réponse était de combiner les <Location> et <Directory> bloque et ajoute un Satisfy directif:

LoadModule auth_cas_module /usr/libexec/apache2/mod_auth_cas.so
CASCookiePath /tmp/mod_auth_cas/
CASVersion 2
CASDebug on
CASValidateServer off
CASAllowWildcardCert on
CASTimeout 86400
CASIdleTimeout 7200

LogLevel debug

<VirtualHost *:80>
  CASCookieDomain "myapp"
  CASLoginURL "https://cas.mycompany.com/cas/login"
  CASValidateURL "https://cas.mycompany.com/cas/serviceValidate"
  LogLevel debug
  ServerName "myapp"
  DocumentRoot "/path/to/rails_app/public"
  RailsEnv development
  <Location />
    Order deny,allow
    Deny from all
    AuthType CAS
    AuthName "MyCompany CAS"
    require valid-user
    Satisfy Any
  </Location>
</VirtualHost>

4
2017-09-21 14:56