본문 바로가기

반응형

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) Ubuntu 20.04 (LTS) 환경에서 진행되었음. certbot 이란?certbot은 LetsEncrypt 인증서를 자동으로 사용하여 HTTPS를 활성화 오픈소스 소프트웨어 도구이다. 무료로 HTTPS를 적용하기 정말 간단하고, 자동으로 갱신할 수 있어 여러가지 이점이 있다. certbot 설치$ sudo apt-get update $ sudo apt-get install software-properties-common $ sudo add-apt-repository universe $ sudo apt-get update $ sudo apt-get install certbot python3-certbot-nginx apt-get update - 설치된 모든 패키지를 업데이트 (참고)apt-get in.. 더보기
[Docker] Docker Nginx, Reverse Proxy로 서버 구동 및 보안 설정(with kibana) - 2 이전 글 - [Docker] Docker Nginx, Reverse Proxy로 서버 구동 및 보안 설정(with kibana) - 1 Nginx 구동 확인 http://localhost 로 접속하면 다음과 같이 index 파일이 출력된다. index 파일이 출력되는 이유는 기본으로 생성되어있는 conf.d/default.conf 파일에 80포트를 리슨하고 있는 가상 서버가 root와 index direction 을 통해 index파일을 전달하도록 설정되어있기 때문이다. Nginx Kibana 서버 설정 # conf.d/kibana.conf server { listen 5600; listen [::]:5600; server_name kibana; location / { proxy_pass http://k.. 더보기
[Docker] Docker Nginx, Reverse Proxy로 서버 구동 및 보안 설정(with kibana) - 1 시작 전 읽어보면 도움 될 글 - https://kanoos-stu.tistory.com/entry/Nginx [Nginx] Nginx란, Nginx 와 Apache Nginx 란 트래픽이 많은 웹사이트의 확장성을 위해 개발된 경량의 고성능 웹서버이다. Nginx는 적은 자원의 사용으로 높은 성능과 높은 동시성을 목표로 만들어졌다. Nginx가 등장하기 전에는 Apache kanoos-stu.tistory.com Nginx Image 설치 (생략 가능) docker pull nginx 최신버전 nginx를 받아준다. (태그 입력 생략 시 latest 버전 자동 설치) Nginx container 실행 sudo docker run -d --name nginx -p 80:80 \ -v my-nginx-con.. 더보기
[Nginx] Nginx란, Nginx 와 Apache Nginx 란 트래픽이 많은 웹사이트의 확장성을 위해 개발된 경량의 고성능 웹서버이다. Nginx는 적은 자원의 사용으로 높은 성능과 높은 동시성을 목표로 만들어졌다. Nginx가 등장하기 전에는 Apache를 웹서버로 많이 사용하였지만 점차 늘어나는 트래픽을 감당하기 어려웠고 C10K 문제(하나의 웹 서버에 1만개 이상의 클라이언트 접속을 처리하지 못하는 문제)가 발생하였고 이를 해결하기 위해 러시아의 Igor Sysoev라는 개발자에 의해 2002년 Nginx의 개발이 시작되었고 2004년에 릴리즈 됐다. 현재 Nginx는 HTTP Server - 요청에 의해 정적 파일을 응답해주는 웹서버 Reverse Proxy Server - 요청으로부터 애플리캐이션 서버에 로드밸런싱 Mail Proxy Serv.. 더보기

반응형