2012-06-15 3 views
4

아래 설정에 따라 Splunk 설치용 SSO 및 역방향 프록시를 제공하도록 Apache 서버를 구성했습니다. SSO는 역방향 프록시가/splunk URL 뒤에 포트 8000에서 실행중인 Splunk 인스턴스를 숨기는 것처럼 작동합니다.Kerberos + mod_proxy + mod_rewrite 재귀가있는 Apache

ProxyPass /splunk http://localhost:8000/splunk 
ProxyPassReverse /splunk http://localhost:8000/splunk 
<Location /splunk > 
     # Kerberos Authentication 
     AuthType Kerberos 
     AuthName "Kerberos Login" 
     KrbAuthRealms MYDOMAIN.COM 
     Krb5KeyTab /etc/krb5.http.keytab 
     KrbMethodNegotiate on 
     KrbAuthoritative on 
     KrbMethodK5Passwd off 
     KrbLocalUserMapping on 
     KrbSaveCredentials on 
     require valid-user 

     # SSO 
     RewriteEngine On 
     RewriteCond %{LA-U:REMOTE_USER} (.+)$ 
     RewriteRule . - [E=RU:%1] 
     RequestHeader set REMOTE_USER %{RU}e 
</Location> 

문제는 Apache 로그에 다음과 같은 오류 메시지가 많이 나옵니다.

[client x.x.x.x] Request exceeded the limit of 10 subrequest nesting levels due to probable confguration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: http://splunk.mydomain.com/splunk/en-GB/debug/sso 

이 문제가 Splunk와 관련이 있는지 여부는 확실하지 않습니다. 다른 사람이 이것을 보았고 어떻게 문제를 해결할 수 있습니까?

답변

8

는 RewriteRule의 내부 하위 요청에 적용되지 않도록하려면

RewriteRule . - [E=RU:%1,NS] 

을보십시오.

+0

해결되었습니다. 감사! –

관련 문제