Socket.io + Nginx results in 502 bad gateway 문제

Declan·2023년 5월 10일
0

nginx /socket.io/?EIO=4&transport=polling 502 (Bad Gateway)

지금 이 글을 보고 있는 님께서 마주하신 문제는
nginx로 구성된 웹서버에서 socket.io를 사용할 때 발생하는 문제 중 하나입니다.

이러한 문제는 일반적으로 nginx의 프록시 설정이 잘못되어 발생합니다.

해결책은 다음과 같습니다:

  1. nginx 설정 파일 열기

먼저, nginx 설정 파일을 엽니다. 대개, Ubuntu에서는 /etc/nginx/nginx.conf 파일을 사용합니다.

  1. location 설정 추가

location 블록 안에 다음과 같은 설정을 추가합니다:

location /socket.io {
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_pass https://SUB-DOMAIN.websocket;
}

위 설정은 socket.io 경로로 들어오는 요청을 프록시 서버로 전달하도록 지정합니다. 이때, 프록시 서버와의 연결을 업그레이드하고, 상위 버전의 HTTP 프로토콜(1.1)을 사용하도록 설정합니다.

  1. nginx 설정 파일 저장 및 재시작

위 설정을 적용하기 위해서는 nginx 설정 파일을 저장하고, nginx를 재시작해야 합니다. 이를 위해서는 다음 명령어를 실행합니다:

sudo systemctl restart nginx

위 명령어는 nginx를 재시작합니다.

  1. 테스트

위 설정을 적용한 후, socket.io를 사용하는 웹 애플리케이션을 테스트하여 문제가 해결되었는지 확인합니다.

위와 같이 설정을 변경하면 nginx에서 socket.io를 사용할 때 발생하는 502(Bad Gateway) 오류를 해결할 수 있습니다. 이 설정은 다양한 환경에서 적용할 수 있으며, 필요에 따라 다양한 설정을 추가할 수 있습니다.

아 이거 해결한다고 죽는 줄 알았네...

profile
세상의 평화를 꿈꾸는 Web Developer

0개의 댓글