We have Confluence sitting behind an Apache proxy running on the same host:
<Location / > ProxyPass http://127.0.0.1:8080/ ProxyPassReverse http://127.0.0.1:8080/ </Location>
When Confluence attempts to validate a Crowd SSO token, it sets the remote-address validation-factor to "127.0.0.1", like this:
<validation-factors> <validation-factor> <name>remote_address</name> <value>127.0.0.1</value> </validation-factor> <validation-factor> <name>X-Forwarded-For</name> <value>96.1.2.3, 96.1.2.3</value> </validation-factor> </validation-factors>
Here, the actual remote client is 96.1.2.3. The client connects to Crowd and to Confluence through a front-end proxy; the request arriving at Crowd has these headers:
X-Forwarded-For: 10.243.22.47, 10.243.21.54
Where 10.243.22.47 is the address of the Confluence host. The requests received by Apache on the Confluence host look like this:
X-Forwarded-For: 96.1.2.3
And when the request gets received by Tomcat, it looks like this:
X-Forwarded-For: 96.1.2.3, 96.1.2.3
Is there any way to get this to work? If I understand how things are working (and I may not!), Crowd and Confluence can only do SSO successfully if Confluence is receiving requests directly from clients -- i.e., with no intervening proxies. Is there any way to get Confluence to use the correct remote-address?
Hi, what list of ips do you have on Crowd's listed of authentication interfaces for the application Confluence? Have you added 127.0.0.1 and the other localhost options?
Did you ever figure out a solution to this issue? We are facing a similar problem to you and have reached a standstill in solving it.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Have you looked at configuring trusted proxies?
http://confluence.atlassian.com/display/CROWD/Configuring+Trusted+Proxy+Servers
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I have. You'll note that Confluence is able to authenticate to Crowd despite talking through a proxy; the problem here is that Confluence is providing bad information to Crowd, so no amount of trust is going to solve it. If there were something in Confluence analagous to "trusted proxies" so that Confluence would get the remote-address value from the X-Forwarded-For header that would solve our problem.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
To elaborated a bit: we have configured trusted proxies in Crowd, and the validation request is being passwd to the Crowd server by Confluence via one of our trusted proxies.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
This page has hepled me in the past: http://confluence.atlassian.com/display/CROWD/Debugging+SSO+in+environments+with+Proxy+Servers
You can find the remote ips using this method.Ignore if you have tried this as well ;)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.