문제
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 리버스 프록시 설정 (0) | 2021.12.09 |
---|---|
[Nginx-ssl] 간단하게 Nginx에 SSL 인증 적용하기(with certbot) (0) | 2021.12.09 |
[Nginx] Nginx란, Nginx 와 Apache (0) | 2021.12.06 |