You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
We've been moving all our applications from a Windows 7 box to a Windows Server 2016 VM, and everything but Crowd has been easy.
Crowd boots just fine, and I can log in to it.
When I try to log into an application, the authentication fails.
The error I get is
2018-11-07 13:00:17,538 https-openssl-nio-8096-exec-14 ERROR [[Catalina].[localhost].[/crowd].[default]] Servlet.service() for servlet [default] in context with path [/crowd] threw exception
java.lang.RuntimeException: java.net.UnknownHostException: 192.168.111.202:64309: invalid IPv6 address
This makes no sense. I have no idea why it's trying to parse an IPv4 address as IPv6.
I also have no idea what the port is.
To explain the set up, we have IIS running on a machine which reverse proxies to the Server 2016 box (192.168.111.202).
Crowd has an additional adaptor listening to port 8096, which has the SSL connection stuff in it, and the proxy pass.
The original Windows 7 has both IPv4 and IPv6 enabled, which the Server 2016 box also has.
Does anyone know how to fix this?
I'm really struggling trying to find anyone with the same problem.
So I've worked out what my issue is.
In IIS, the Application Request Routing proxy settings have an option for including the TCP port from the client IP in the X-Forwarded-For header.
If I disable this, Crowd no longer views this as an IPv6 address, and works correctly.
My assumption is that the code is looking for the presence of the colon to determine if the IP address is IPv6. Because the port was included, this was tricking it into thinking it was.