WebSocket connection to '<URL>' failed: WebSocket is closed before the connection is established.

Hello Folks,

I’m running awx on https on port 443. I’m able to launch jobs but I’m unable to see StandardOut. Please find the following details.

Version details:

awx_web:1.0.5
awx_task:1.0.5
postgre:9.6

Console Errors:

WebSocket connection to ‘’ failed: WebSocket is closed before the connection is established.

WebSocket connection to ‘wss://awx-test.com/websocket/’ failed: Error during WebSocket handshake: Unexpected response code: 504

nginx.conf File:

#user awx;

worker_processes 1;

pid /tmp/nginx.pid;

events {

worker_connections 1024;

}

http {

include /etc/nginx/mime.types;

default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] “$request” ’

'$status $body_bytes_sent “$http_referer” ’

‘“$http_user_agent” “$http_x_forwarded_for”’;

map $http_upgrade $connection_upgrade {

default upgrade;

‘’ close;

}

sendfile on;

#tcp_nopush on;

#gzip on;

upstream uwsgi {

server 127.0.0.1:8050;

}

upstream daphne {

server 127.0.0.1:8051;

}

server {

listen 443 default_server ssl;

ssl_certificate /etc/tower/tower.cert;

ssl_certificate_key /etc/tower/tower.key;

ssl_password_file /etc/tower/tower.pass;

ssl_session_cache shared:SSL:50m;

ssl_session_timeout 1d;

ssl_session_tickets off;

intermediate configuration

ssl_protocols TLSv1.2;

ssl_ciphers ‘ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECD HE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256’;

ssl_prefer_server_ciphers on;

If you have a domain name, this is where to add it

server_name _;

keepalive_timeout 65;

HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)

add_header Strict-Transport-Security max-age=15768000;

location /static/ {

alias /var/lib/awx/public/static/;

}

location /favicon.ico { alias /var/lib/awx/public/static/favicon.ico; }

location /websocket {

Pass request to the upstream alias

proxy_pass http://daphne;

Require http version 1.1 to allow for upgrade requests

proxy_http_version 1.1;

We want proxy_buffering off for proxying to websockets.

proxy_buffering off;

http://en.wikipedia.org/wiki/X-Forwarded-For

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

enable this if you use HTTPS:

proxy_set_header X-Forwarded-Proto https;

pass the Host: header from the client for the sake of redirects

proxy_set_header Host $http_host;

We’ve set the Host header, so we don’t need Nginx to muddle

about with redirects

proxy_redirect off;

Depending on the request value, set the Upgrade and

connection headers

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection $connection_upgrade;

}

location / {

Add trailing / if missing

rewrite ^(.)$http_host(.[^/])$ $1$http_host$2/ permanent;

uwsgi_read_timeout 120s;

uwsgi_pass uwsgi;

include /etc/nginx/uwsgi_params;

}

}

server {

listen 80 default_server;

server_name _;

return 301 $https://$host:8443$request_uri;

}

}

Can some one please suggest why I’m getting the issue?

Thanks,
Sudheer.

I know its an old post, but thought it’d be helpful to let everyone know how I fixed the same issue.

There was nothing wrong with the nginx.conf. In my case I had configured an unsupported password for “rabbitmq_password” in the inventory file before running setup. The password can have only alpha-numeric characters and cannot have any special characters.

Once correct password is given and re-run setup everything works fine.