Problem Description:


On Infoworks if the authentication is configured to use LDAP, sometimes the user may see an authentication failure when logging through the UI even if the user is submitting a correct password. 


If we look at the apricot.log at $IW_HOME/logs/apricot/apricot.log (latest file) we can see a stack trace as below


'0': 'authenticateUser',\n  '1': \n   { url: 'http://hostname:80/api/v1/security/authenticate/user?get_data=true&service_id=1' } }","timestamp":"2021-02-03T21:11:48.543Z"}

{"level":"debug","message":"[SERVER]  { '0': 'authenticateUser catch',\n  '1': '{\"response\":{\"statusCode\":504,\"content\":\"<html>\\\\r\\\\n<head><title>504 Gateway Time-out</title></head>\\\\r\\\\n<body>\\\\r\\\\n<center><h1>504 Gateway Time-out</h1></center>\\\\r\\\\n<hr><center>nginx/1.16.1</center>\\\\r\\\\n</body>\\\\r\\\\n




Root cause: This issue happens if the user authentication to LDAP server is taking more than expected time which causes a backend gateway timeout to Infoworks authentication API’s. 



Solution: 



  1. Navigate to Nginx configuration directory using the following command: cd ${IW_HOME}/resources/nginx-portable/conf/infoworks

 

  1.  Run the following command to open platform.conf.template file for editing: vi platform.conf.template


               Add the following below listen ${PROXY_SERVER_PORT};


                proxy_read_timeout 300;


  1. Restart Nginx service using the following commands:

            cd ${IW_HOME}/bin

            ./stop.sh nginx && ./stop.sh UI

            ./start.sh nginx && ./start.sh UI


Applicable Infoworks Versions

v3.x, 4.x