본문 바로가기

Nginx

[Nginx] Websocket 일정시간 후 끊기는 문제 문제 nginx 리버스 프록시를 통해 websocket을 연결하고 메세지를 주고 받다가 일정 시간동안 메세지를 수신 또는 송신하지 않으면 연결이 끊기는 문제가 발생하였다. 원인 nginx에서는 기본적으로 수신 또는 송신을 일정시간 하지 않으면 연결을 끊게 설정되어있다. 이 시간은 60초로 설정되어있다. 해결 그래서 이 시간 설정을 바꿔주면 되는데 설정은 아래와같이 websocket server 부분에 코드를 넣어주면된다. 단위는 ms이다. server { ... proxy_read_timeout 21600000; # 6 * 60 * 60 * 1000 proxy_send_timeout 21600000; # 6 * 60 * 60 * 1000 ... } nginx 공식문서 더보기
[Nginx] Nginx Websocket 리버스 프록시 설정 문제점 https, http 연결 모두 테스트 되었지만 wss로는 연결이 되지 않는 에러가 발생한다. Error during WebSocket handshake: Unexpected response code: 504 원인 클라이언트와 서버간의 연결을 http -> websocket 으로 전환하기 위해서는 프로토콜 전환 메커니즘이 사용된다. 하지만 upgrade는 hop-by-hop 헤더이기때문에 클라이언트에서 서버로 다시 전달되지 않는다. hop - 네트워크의 출발지와 목적지 사이에 위치한 경로 내에서 양 끝단을 포함한 모든 네트워크들의 다음 장비로 패킷이 이동하는것, 홉이 발생하는 수를 홉 카운트 라고 한다. hop-by-hop - 프록시의해 재전송 되거나 캐시되지 않으며 다음 전달에 삭제되는 헤더 해.. 더보기
[Nginx-ssl] 간단하게 Nginx에 SSL 인증 적용하기(with certbot) 스프링 부트를 사용한 예제 애플리케이션을 AWS를 통해 모노리식에서 MSA로 MSA에서 다시 컨테이너 오케스트레이션으로 개선해나가는 과정을 모두 담은 강의를 출시하게 되었습니다.강의 과정에서 15개 이상의 서비스를 사용하게 됩니다.그래서 클라우드 개발자가 아닌 개발자, 학생 분들도 AWS의 폭넓은 지식을 쉽고 빠르게 습득할 수 있는 기회가 될 수 있다고 생각합니다!배너를 누르면 강의로 이동됩니다.블로그를 통해 구매하시는 분들에게만 10%할인 쿠폰을 증정중입니다.꼭 아래 쿠폰번호를 입력해 주세요!16861-259843d6c2d7  Ubuntu 20.04 (LTS) 환경에서 진행되었음. certbot 이란?certbot은 LetsEncrypt 인증서를 자동으로 사용하여 HTTPS를 활성화 오픈소스 소프트웨어.. 더보기
[Nginx] Nginx란, Nginx 와 Apache Nginx 란 트래픽이 많은 웹사이트의 확장성을 위해 개발된 경량의 고성능 웹서버이다. Nginx는 적은 자원의 사용으로 높은 성능과 높은 동시성을 목표로 만들어졌다. Nginx가 등장하기 전에는 Apache를 웹서버로 많이 사용하였지만 점차 늘어나는 트래픽을 감당하기 어려웠고 C10K 문제(하나의 웹 서버에 1만개 이상의 클라이언트 접속을 처리하지 못하는 문제)가 발생하였고 이를 해결하기 위해 러시아의 Igor Sysoev라는 개발자에 의해 2002년 Nginx의 개발이 시작되었고 2004년에 릴리즈 됐다. 현재 Nginx는 HTTP Server - 요청에 의해 정적 파일을 응답해주는 웹서버 Reverse Proxy Server - 요청으로부터 애플리캐이션 서버에 로드밸런싱 Mail Proxy Serv.. 더보기