Client host is invalid
Symptoms
Authentication against Crowd fails. The following error appears when application attempts to login:
2010-05-03 08:15:39,257 http-8095-2 INFO [crowd.service.soap.SOAPService] Client host is invalid: 127.0.0.1 / 127.0.0.1
Cause
The application in the machine with IP address 127.0.0.1 is trying to access Crowd for authentication. However, this IP address is not registered in the Remote Addresses
list for the application entry in Crowd.
Resolution
If you can login to the Crowd Web Console
Add the IP address to the application's Remote Addresses
list via Crowd Console >> Applications >> The Application Name >> Remote Addresses
and try to login again.
If you can't login to the Crowd Web Console
Alternatively, if you are unable to log into your Crowd Administration Console, and you notice the following error in the logs
2010-07-20 16:29:59,006 http-4010-Processor24 INFO [crowd.service.soap.SOAPService] Valid addresses for application: crowd
2010-07-20 16:29:59,006 http-4010-Processor24 INFO [crowd.service.soap.SOAPService] address: 127.0.0.1
2010-07-20 16:29:59,006 http-4010-Processor24 INFO [crowd.service.soap.SOAPService] address: localhost
2010-07-20 16:29:59,006 http-4010-Processor24 INFO [crowd.service.soap.SOAPService] address: 10.150.196.190
2010-07-20 16:29:59,006 http-4010-Processor24 INFO [crowd.service.soap.SOAPService] address: desa-app-01
2010-07-20 16:29:59,006 http-4010-Processor24 INFO [crowd.service.soap.SOAPService] Client host is invalid: XXX.XXX.XXX.XXX / XXX.XXX.XXX.XXX
This means you Crowd server's IP address has changed and Crowd is not letting the Crowd Console authenticate as the source IP is not in the list valid address. To fix this issue,
- Shut down Crowd.
Run the following query to discover the Crowd Application ID:
SELECT ID FROM CWD_APPLICATION WHERE APPLICATION_NAME = 'crowd';
Using the ID found in the previous step, replace string <APP_ID> and then run the following sql command:
INSERT INTO CWD_APPLICATION_ADDRESS (APPLICATION_ID, REMOTE_ADDRESS) VALUES (<APP_ID>,'127.0.0.1');
The above information is for Crowd 2.3 and later.
For Crowd 2.1.x or 2.2.x you will also need to store the base-64 representation in the
remote_address_binary
column. (For example,fwAAAQ==
for 127.0.0.1.)
For earlier Crowds, you will need to store the binary representation in theremote_address_binary
column. (For example,01111111000000000000000000000001
for 127.0.0.1.)
Cannot Log into Crowd when Using IPv6