nginx
-
mirror(ngx_http_mirror_module)메인 요청을 그대로 복제하여 별도의 URL 또는 서버로 보내는 기능트래픽을 그대로 복제해서 로그, 분석, A/B 테스트, 백업 서버 등에 전달 메인 요청의 성능에 영향을 최소화하며, 응답은 무시됨항목내용동작 방식메인 요청과 동일한 서브요청(subrequest)을 백그라운드에서 실행응답 처리무시됨(클라이언트에게는 영향을 주지 않음)비동기 여부기본적으로 비동기적이지만, HTTP/1.1 keep-alive 환경에서는 간접적으로 다음 요청에 영향 가능활용 예트래픽 복제, 로깅, 미러링 테스트, A/B 테스팅 설정 예시 upstream backend_main { server 127.0.0.1:8080;}upstream backend_mirror { ..
[Nginx] mirror 기능 사용해보기
mirror(ngx_http_mirror_module)메인 요청을 그대로 복제하여 별도의 URL 또는 서버로 보내는 기능트래픽을 그대로 복제해서 로그, 분석, A/B 테스트, 백업 서버 등에 전달 메인 요청의 성능에 영향을 최소화하며, 응답은 무시됨항목내용동작 방식메인 요청과 동일한 서브요청(subrequest)을 백그라운드에서 실행응답 처리무시됨(클라이언트에게는 영향을 주지 않음)비동기 여부기본적으로 비동기적이지만, HTTP/1.1 keep-alive 환경에서는 간접적으로 다음 요청에 영향 가능활용 예트래픽 복제, 로깅, 미러링 테스트, A/B 테스팅 설정 예시 upstream backend_main { server 127.0.0.1:8080;}upstream backend_mirror { ..
2025.11.25 -
인터넷상으로 통신을 하는 경우 주고받는 데이터의 보안이 중요하다.보안을 적용하기 위해 http 프로토콜에 secure를 붙인 https를 사용한다. (https://kkang-joo.tistory.com/178) https만 사용한다고 안전한 보안이 완성되는 것은 아니다.보안 프로토콜에도 버전이 있고, 보안 프로토콜 내에서 사용하는 암호화 알고리즘이 있다.이러한 내역들 중에 취약한 부분이 있다면 취약점을 제거해주어야 한다. 취약점들을 제거하기 위한 설정들을 알아보자. ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256: ECDHE-RSA-AES128-GCM-SHA256: EC..
[Nginx] 취약한 Https 설정 보완인터넷상으로 통신을 하는 경우 주고받는 데이터의 보안이 중요하다.보안을 적용하기 위해 http 프로토콜에 secure를 붙인 https를 사용한다. (https://kkang-joo.tistory.com/178) https만 사용한다고 안전한 보안이 완성되는 것은 아니다.보안 프로토콜에도 버전이 있고, 보안 프로토콜 내에서 사용하는 암호화 알고리즘이 있다.이러한 내역들 중에 취약한 부분이 있다면 취약점을 제거해주어야 한다. 취약점들을 제거하기 위한 설정들을 알아보자. ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256: ECDHE-RSA-AES128-GCM-SHA256: EC..
2025.11.21 -
client - nginx - backend 호출 흐름에서 nginx accesslog에 499 statusCode가 찍히는 현상이 가끔 발생하였다.어떠한 상황에 발생하는지 알아보도록 하자. 499는 Nginx 전용 로그 코드로 “클라이언트(또는 Nginx 기준의 클라이언트)가 요청을 중간에 끊었다”는 의미-> 즉, 사용자가 직접 연결을 끊었거나, 중간 네트워크가 끊긴 것을 의미 ws - nginx & apache사용자가 요청을 보내고 중간에 페이지를 이탈하거나 앱을 종료하여 연결이 끊길 수 있다. 근데 내가 마주한 상황은 기존에 web server를 apache를 사용할 때는 발생 빈도가 거의 없었지만web server를 nginx로 변경하고부터 이전보다 빈도가 증가했다는 점이다. 이러한 상황이 발..
[Exception] ClientAbortException 발생 확인client - nginx - backend 호출 흐름에서 nginx accesslog에 499 statusCode가 찍히는 현상이 가끔 발생하였다.어떠한 상황에 발생하는지 알아보도록 하자. 499는 Nginx 전용 로그 코드로 “클라이언트(또는 Nginx 기준의 클라이언트)가 요청을 중간에 끊었다”는 의미-> 즉, 사용자가 직접 연결을 끊었거나, 중간 네트워크가 끊긴 것을 의미 ws - nginx & apache사용자가 요청을 보내고 중간에 페이지를 이탈하거나 앱을 종료하여 연결이 끊길 수 있다. 근데 내가 마주한 상황은 기존에 web server를 apache를 사용할 때는 발생 빈도가 거의 없었지만web server를 nginx로 변경하고부터 이전보다 빈도가 증가했다는 점이다. 이러한 상황이 발..
2025.11.18 -
nginx location 설정이 여러개 존재할 때 사용하는 매칭 문법에 따라서 우선순위가 바뀌어서 특정 location 블록에 들어가면 안되는 요청이 수행되는 경우를 발견하게 되었다.이참에 location 블록에 사용할 수 있는 문법을 정리하고 이해하고 넘어가보자. location location 블록은 요청된 URL(URI)에 따라 처리할 동작을 정의하는 영역주로 요청 경로에 따라 정적 파일을 제공하거나, 백엔드로 프록시하거나, 제한을 걸거나 리턴하는 등의 역할 기본 구조 http { server { location [modifier] [pattern] { # 요청 처리 로직 (proxy_pass, return, root 등) } }} location 매칭 방식 (modifie..
[Nginx] location 매칭 방식 이해nginx location 설정이 여러개 존재할 때 사용하는 매칭 문법에 따라서 우선순위가 바뀌어서 특정 location 블록에 들어가면 안되는 요청이 수행되는 경우를 발견하게 되었다.이참에 location 블록에 사용할 수 있는 문법을 정리하고 이해하고 넘어가보자. location location 블록은 요청된 URL(URI)에 따라 처리할 동작을 정의하는 영역주로 요청 경로에 따라 정적 파일을 제공하거나, 백엔드로 프록시하거나, 제한을 걸거나 리턴하는 등의 역할 기본 구조 http { server { location [modifier] [pattern] { # 요청 처리 로직 (proxy_pass, return, root 등) } }} location 매칭 방식 (modifie..
2025.07.19