Error 200 during WebSocket handshake: Aws load balancer + ec2 websocketnginx redirect issue with upstream configurationnginx proxy redirecting request to different proxyApache / Nginx / Varnish - GZIP does not work on css, jsnginx rewrite throw 404 with last and breakNginX + WordPress + SSL + non-www + W3TC vhost config file questionsNginx WebSocket reverse proxy keeps return 200 instead of 101Amazon AWS WebSocket Load Balancing Scale-Inapache websocket conf for microservice managed by load balancerCannot get websocket connection working with ec2 + application load balancerRedirect in nginx port not showing up

Multi tool use
Multi tool use

Is it recommended against to open-source the code of a webapp?

Select items in a list that contain criteria #2

Turing patterns

Why doesn’t a normal window produce an apparent rainbow?

What are the words for people who cause trouble believing they know better?

Average spam confidence

What do we gain with higher order logics?

Notation of last measure of a song with a pickup measure

How hard would it be to convert a glider into an powered electric aircraft?

Is it possible to express disjunction through conjunction and implication?

How do I write "Show, Don't Tell" as a person with Asperger Syndrome?

Russian equivalents of "no love lost"

How did students remember what to practise between lessons without any sheet music?

How to translate “Me doing X” like in online posts?

Russian equivalent of the French expression "broyer du noir"

Why don’t airliners have temporary liveries?

Why only the fundamental frequency component is said to give useful power?

Float division returns "inf" and 0

Are "living" organ banks practical?

What is the advantage of carrying a tripod and ND-filters when you could use image stacking instead?

Last survivors from different time periods living together

Company did not petition for visa in a timely manner. Is asking me to work from overseas, but wants me to take a paycut

Implement Homestuck's Catenative Doomsday Dice Cascader

Building a road to escape Earth's gravity by making a pyramid on Antartica



Error 200 during WebSocket handshake: Aws load balancer + ec2 websocket


nginx redirect issue with upstream configurationnginx proxy redirecting request to different proxyApache / Nginx / Varnish - GZIP does not work on css, jsnginx rewrite throw 404 with last and breakNginX + WordPress + SSL + non-www + W3TC vhost config file questionsNginx WebSocket reverse proxy keeps return 200 instead of 101Amazon AWS WebSocket Load Balancing Scale-Inapache websocket conf for microservice managed by load balancerCannot get websocket connection working with ec2 + application load balancerRedirect in nginx port not showing up






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I'm using load balancer in front of an aws ec2 instance(I will have more in future). In this ec2, I have a website being served by nginx on port 80, a nodejs app listening on 8080 and the websocket on 4555.



My nginx.conf has rules to pass the requests based on location / as you can see:



server 
listen 80 default_server;
listen [::]:80 default_server;
server_name localhost;
root /var/www/html;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

#try_files $uri $uri/ @rewrite;
# location @rewrite
# rewrite ^/(.*)$ /index.php?param=$1;
#

location /api
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;


location /chat
proxy_pass http://127.0.0.1:4555;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;




It was working when I was redirectioning the connection directly to the instance but now that we have the loadbalancer in the front it doesn't work anymore.



web application output:



WebSocket connection to 'wss://www.domain.com/socket.io/?EIO=3&transport=websocket' failed: Error during WebSocket handshake: Unexpected response code: 200



And this is the headers:



Request URL: wss://www.domain.com/socket.io/?EIO=3&transport=websocket
Request Method: GET
Status Code: 200 OK
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection: keep-alive
Content-Type: text/html; charset=UTF-8
Date: Mon, 20 May 2019 18:53:37 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Pragma: no-cache
Server: nginx/1.14.1
Transfer-Encoding: chunked
X-Powered-By: PHP/5.6.40
Accept-Encoding: gzip, deflate, br
Accept-Language: pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7
Cache-Control: no-cache
Connection: Upgrade
Cookie: PHPSESSID=a6v5ebp25cajb1dj9s6je605a3
Host: www.domain.com
Origin: https://www. domain.com
Pragma: no-cache
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
Sec-WebSocket-Key: kmYaufsBu3UFD+qGm1vlGA==
Sec-WebSocket-Version: 13
Upgrade: websocket
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36
EIO: 3
transport: websocket










share|improve this question
























  • OK, how did you set up the websocket endpoint in the load balancer?

    – Michael Hampton
    May 20 at 19:10











  • @MichaelHampton The websocket endpoint it's the same ec2 of the webserver. It's an ec2 in the target group of this load balancer. I also tried to activate connection stickyness but no success.

    – Sandro Benevides
    May 20 at 19:12

















0















I'm using load balancer in front of an aws ec2 instance(I will have more in future). In this ec2, I have a website being served by nginx on port 80, a nodejs app listening on 8080 and the websocket on 4555.



My nginx.conf has rules to pass the requests based on location / as you can see:



server 
listen 80 default_server;
listen [::]:80 default_server;
server_name localhost;
root /var/www/html;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

#try_files $uri $uri/ @rewrite;
# location @rewrite
# rewrite ^/(.*)$ /index.php?param=$1;
#

location /api
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;


location /chat
proxy_pass http://127.0.0.1:4555;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;




It was working when I was redirectioning the connection directly to the instance but now that we have the loadbalancer in the front it doesn't work anymore.



web application output:



WebSocket connection to 'wss://www.domain.com/socket.io/?EIO=3&transport=websocket' failed: Error during WebSocket handshake: Unexpected response code: 200



And this is the headers:



Request URL: wss://www.domain.com/socket.io/?EIO=3&transport=websocket
Request Method: GET
Status Code: 200 OK
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection: keep-alive
Content-Type: text/html; charset=UTF-8
Date: Mon, 20 May 2019 18:53:37 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Pragma: no-cache
Server: nginx/1.14.1
Transfer-Encoding: chunked
X-Powered-By: PHP/5.6.40
Accept-Encoding: gzip, deflate, br
Accept-Language: pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7
Cache-Control: no-cache
Connection: Upgrade
Cookie: PHPSESSID=a6v5ebp25cajb1dj9s6je605a3
Host: www.domain.com
Origin: https://www. domain.com
Pragma: no-cache
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
Sec-WebSocket-Key: kmYaufsBu3UFD+qGm1vlGA==
Sec-WebSocket-Version: 13
Upgrade: websocket
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36
EIO: 3
transport: websocket










share|improve this question
























  • OK, how did you set up the websocket endpoint in the load balancer?

    – Michael Hampton
    May 20 at 19:10











  • @MichaelHampton The websocket endpoint it's the same ec2 of the webserver. It's an ec2 in the target group of this load balancer. I also tried to activate connection stickyness but no success.

    – Sandro Benevides
    May 20 at 19:12













0












0








0








I'm using load balancer in front of an aws ec2 instance(I will have more in future). In this ec2, I have a website being served by nginx on port 80, a nodejs app listening on 8080 and the websocket on 4555.



My nginx.conf has rules to pass the requests based on location / as you can see:



server 
listen 80 default_server;
listen [::]:80 default_server;
server_name localhost;
root /var/www/html;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

#try_files $uri $uri/ @rewrite;
# location @rewrite
# rewrite ^/(.*)$ /index.php?param=$1;
#

location /api
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;


location /chat
proxy_pass http://127.0.0.1:4555;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;




It was working when I was redirectioning the connection directly to the instance but now that we have the loadbalancer in the front it doesn't work anymore.



web application output:



WebSocket connection to 'wss://www.domain.com/socket.io/?EIO=3&transport=websocket' failed: Error during WebSocket handshake: Unexpected response code: 200



And this is the headers:



Request URL: wss://www.domain.com/socket.io/?EIO=3&transport=websocket
Request Method: GET
Status Code: 200 OK
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection: keep-alive
Content-Type: text/html; charset=UTF-8
Date: Mon, 20 May 2019 18:53:37 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Pragma: no-cache
Server: nginx/1.14.1
Transfer-Encoding: chunked
X-Powered-By: PHP/5.6.40
Accept-Encoding: gzip, deflate, br
Accept-Language: pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7
Cache-Control: no-cache
Connection: Upgrade
Cookie: PHPSESSID=a6v5ebp25cajb1dj9s6je605a3
Host: www.domain.com
Origin: https://www. domain.com
Pragma: no-cache
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
Sec-WebSocket-Key: kmYaufsBu3UFD+qGm1vlGA==
Sec-WebSocket-Version: 13
Upgrade: websocket
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36
EIO: 3
transport: websocket










share|improve this question
















I'm using load balancer in front of an aws ec2 instance(I will have more in future). In this ec2, I have a website being served by nginx on port 80, a nodejs app listening on 8080 and the websocket on 4555.



My nginx.conf has rules to pass the requests based on location / as you can see:



server 
listen 80 default_server;
listen [::]:80 default_server;
server_name localhost;
root /var/www/html;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

#try_files $uri $uri/ @rewrite;
# location @rewrite
# rewrite ^/(.*)$ /index.php?param=$1;
#

location /api
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;


location /chat
proxy_pass http://127.0.0.1:4555;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;




It was working when I was redirectioning the connection directly to the instance but now that we have the loadbalancer in the front it doesn't work anymore.



web application output:



WebSocket connection to 'wss://www.domain.com/socket.io/?EIO=3&transport=websocket' failed: Error during WebSocket handshake: Unexpected response code: 200



And this is the headers:



Request URL: wss://www.domain.com/socket.io/?EIO=3&transport=websocket
Request Method: GET
Status Code: 200 OK
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection: keep-alive
Content-Type: text/html; charset=UTF-8
Date: Mon, 20 May 2019 18:53:37 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Pragma: no-cache
Server: nginx/1.14.1
Transfer-Encoding: chunked
X-Powered-By: PHP/5.6.40
Accept-Encoding: gzip, deflate, br
Accept-Language: pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7
Cache-Control: no-cache
Connection: Upgrade
Cookie: PHPSESSID=a6v5ebp25cajb1dj9s6je605a3
Host: www.domain.com
Origin: https://www. domain.com
Pragma: no-cache
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
Sec-WebSocket-Key: kmYaufsBu3UFD+qGm1vlGA==
Sec-WebSocket-Version: 13
Upgrade: websocket
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36
EIO: 3
transport: websocket







nginx amazon-web-services node.js websocket






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited May 20 at 18:59







Sandro Benevides

















asked May 20 at 18:12









Sandro BenevidesSandro Benevides

165




165












  • OK, how did you set up the websocket endpoint in the load balancer?

    – Michael Hampton
    May 20 at 19:10











  • @MichaelHampton The websocket endpoint it's the same ec2 of the webserver. It's an ec2 in the target group of this load balancer. I also tried to activate connection stickyness but no success.

    – Sandro Benevides
    May 20 at 19:12

















  • OK, how did you set up the websocket endpoint in the load balancer?

    – Michael Hampton
    May 20 at 19:10











  • @MichaelHampton The websocket endpoint it's the same ec2 of the webserver. It's an ec2 in the target group of this load balancer. I also tried to activate connection stickyness but no success.

    – Sandro Benevides
    May 20 at 19:12
















OK, how did you set up the websocket endpoint in the load balancer?

– Michael Hampton
May 20 at 19:10





OK, how did you set up the websocket endpoint in the load balancer?

– Michael Hampton
May 20 at 19:10













@MichaelHampton The websocket endpoint it's the same ec2 of the webserver. It's an ec2 in the target group of this load balancer. I also tried to activate connection stickyness but no success.

– Sandro Benevides
May 20 at 19:12





@MichaelHampton The websocket endpoint it's the same ec2 of the webserver. It's an ec2 in the target group of this load balancer. I also tried to activate connection stickyness but no success.

– Sandro Benevides
May 20 at 19:12










0






active

oldest

votes












Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "2"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f968127%2ferror-200-during-websocket-handshake-aws-load-balancer-ec2-websocket%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Server Fault!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f968127%2ferror-200-during-websocket-handshake-aws-load-balancer-ec2-websocket%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







0AUiUrUeZC2,ic9ItxMN,XDDd9RDntWO6vR HXy P5,Xw,o5Kmao7q f3Y YZtfbSAKO,IWMdO0c,r P2gBNI7T
hX2V,hNdl PF,Kp5OSoe,5Ubq1lkF,QvaPf7SsRhSmv9 MogbFYUdc9 N8JmU7WNwA8BOK JNfNXS,w Fij3 6dpZ

Popular posts from this blog

RemoteApp sporadic failureWindows 2008 RemoteAPP client disconnects within a matter of minutesWhat is the minimum version of RDP supported by Server 2012 RDS?How to configure a Remoteapp server to increase stabilityMicrosoft RemoteApp Active SessionRDWeb TS connection broken for some users post RemoteApp certificate changeRemote Desktop Licensing, RemoteAPPRDS 2012 R2 some users are not able to logon after changed date and time on Connection BrokersWhat happens during Remote Desktop logon, and is there any logging?After installing RDS on WinServer 2016 I still can only connect with two users?RD Connection via RDGW to Session host is not connecting

Vilaño, A Laracha Índice Patrimonio | Lugares e parroquias | Véxase tamén | Menú de navegación43°14′52″N 8°36′03″O / 43.24775, -8.60070

Cegueira Índice Epidemioloxía | Deficiencia visual | Tipos de cegueira | Principais causas de cegueira | Tratamento | Técnicas de adaptación e axudas | Vida dos cegos | Primeiros auxilios | Crenzas respecto das persoas cegas | Crenzas das persoas cegas | O neno deficiente visual | Aspectos psicolóxicos da cegueira | Notas | Véxase tamén | Menú de navegación54.054.154.436928256blindnessDicionario da Real Academia GalegaPortal das Palabras"International Standards: Visual Standards — Aspects and Ranges of Vision Loss with Emphasis on Population Surveys.""Visual impairment and blindness""Presentan un plan para previr a cegueira"o orixinalACCDV Associació Catalana de Cecs i Disminuïts Visuals - PMFTrachoma"Effect of gene therapy on visual function in Leber's congenital amaurosis"1844137110.1056/NEJMoa0802268Cans guía - os mellores amigos dos cegosArquivadoEscola de cans guía para cegos en Mortágua, PortugalArquivado"Tecnología para ciegos y deficientes visuales. Recopilación de recursos gratuitos en la Red""Colorino""‘COL.diesis’, escuchar los sonidos del color""COL.diesis: Transforming Colour into Melody and Implementing the Result in a Colour Sensor Device"o orixinal"Sistema de desarrollo de sinestesia color-sonido para invidentes utilizando un protocolo de audio""Enseñanza táctil - geometría y color. Juegos didácticos para niños ciegos y videntes""Sistema Constanz"L'ocupació laboral dels cecs a l'Estat espanyol està pràcticament equiparada a la de les persones amb visió, entrevista amb Pedro ZuritaONCE (Organización Nacional de Cegos de España)Prevención da cegueiraDescrición de deficiencias visuais (Disc@pnet)Braillín, un boneco atractivo para calquera neno, con ou sen discapacidade, que permite familiarizarse co sistema de escritura e lectura brailleAxudas Técnicas36838ID00897494007150-90057129528256DOID:1432HP:0000618D001766C10.597.751.941.162C97109C0155020