web-dev-qa-db-ja.com

VirtualHostのmod_auth_casを設定するにはどうすればよいですか?

/etc/Apache2/httpd.confには次のものがあります。

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

/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は正常に起動しますが、私のRailsアプリケーションへのすべてのリクエストは、CASサーバーにリダイレクトせずに403を返します。CASDebugであっても、ログにCAS関連の情報はありません。はonであり、LogLeveldebugです。

PS:mod_auth_cas宣言を<VirtualHost>定義内に配置するなど、上記の構成のいくつかのバリエーションを試しましたが、ほとんどは起動時に失敗します。また、<Location>ブロックを削除し、その認証を<Directory>ブロックに移動してみました。変更はありません。

mod_auth_casを取得して実際にCASサーバーにリダイレクトする方法を知っている人はいますか?

(から移動 StackOverflow

5
James A. Rosen

とった。答えは、<Location>ブロックと<Directory>ブロックを組み合わせて、Satisfyディレクティブを追加することでした。

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
James A. Rosen