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

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







Popular posts from this blog

Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

Club Baloncesto Breogán Índice Historia | Pavillón | Nome | O Breogán na cultura popular | Xogadores | Adestradores | Presidentes | Palmarés | Historial | Líderes | Notas | Véxase tamén | Menú de navegacióncbbreogan.galCadroGuía oficial da ACB 2009-10, páxina 201Guía oficial ACB 1992, páxina 183. Editorial DB.É de 6.500 espectadores sentados axeitándose á última normativa"Estudiantes Junior, entre as mellores canteiras"o orixinalHemeroteca El Mundo Deportivo, 16 setembro de 1970, páxina 12Historia do BreogánAlfredo Pérez, o último canoneiroHistoria C.B. BreogánHemeroteca de El Mundo DeportivoJimmy Wright, norteamericano do Breogán deixará Lugo por ameazas de morteResultados de Breogán en 1986-87Resultados de Breogán en 1990-91Ficha de Velimir Perasović en acb.comResultados de Breogán en 1994-95Breogán arrasa al Barça. "El Mundo Deportivo", 27 de setembro de 1999, páxina 58CB Breogán - FC BarcelonaA FEB invita a participar nunha nova Liga EuropeaCharlie Bell na prensa estatalMáximos anotadores 2005Tempada 2005-06 : Tódolos Xogadores da Xornada""Non quero pensar nunha man negra, mais pregúntome que está a pasar""o orixinalRaúl López, orgulloso dos xogadores, presume da boa saúde económica do BreogánJulio González confirma que cesa como presidente del BreogánHomenaxe a Lisardo GómezA tempada do rexurdimento celesteEntrevista a Lisardo GómezEl COB dinamita el Pazo para forzar el quinto (69-73)Cafés Candelas, patrocinador del CB Breogán"Suso Lázare, novo presidente do Breogán"o orixinalCafés Candelas Breogán firma el mayor triunfo de la historiaEl Breogán realizará 17 homenajes por su cincuenta aniversario"O Breogán honra ao seu fundador e primeiro presidente"o orixinalMiguel Giao recibiu a homenaxe do PazoHomenaxe aos primeiros gladiadores celestesO home que nos amosa como ver o Breo co corazónTita Franco será homenaxeada polos #50anosdeBreoJulio Vila recibirá unha homenaxe in memoriam polos #50anosdeBreo"O Breogán homenaxeará aos seus aboados máis veteráns"Pechada ovación a «Capi» Sanmartín e Ricardo «Corazón de González»Homenaxe por décadas de informaciónPaco García volve ao Pazo con motivo do 50 aniversario"Resultados y clasificaciones""O Cafés Candelas Breogán, campión da Copa Princesa""O Cafés Candelas Breogán, equipo ACB"C.B. Breogán"Proxecto social"o orixinal"Centros asociados"o orixinalFicha en imdb.comMario Camus trata la recuperación del amor en 'La vieja música', su última película"Páxina web oficial""Club Baloncesto Breogán""C. B. Breogán S.A.D."eehttp://www.fegaba.com

What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company