У меня в /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 возвращает 403 без перенаправления на мой сервер CAS. В журналах нет информации о CAS, хотя CASDebug
является on
и LogLevel
является debug
везде, где я могу думать, чтобы установить это.
PS: Я пробовал несколько вариантов вышеуказанной конфигурации, включая установку mod_auth_cas
декларации внутри <VirtualHost>
определение, но большинство из них не работают при запуске. Я также попытался удалить <Location>
заблокировать и переместить эту аутентификацию в <Directory>
блок: без изменений.
Кто-нибудь знает, как я могу получить mod_auth_cas
на самом деле перенаправить на мой сервер CAS?
(Переехал из Переполнение стека)
Понял. Ответ заключался в том, чтобы объединить <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>