#Nginx · 25개
GoAccess로 Nginx 접근 로그 실시간 분석
접속 통계 하나 보자고 유료 APM을 붙이기는 부담스럽고, 그렇다고 grep 과 awk 로 매번 로그를 훑기도 번거롭다. 이럴 때 제가 서버마다 하나씩 얹어 두는 도구가 GoAccess다. 이미 쌓…
Keepalived로 Nginx 두 대에 VIP 이중화
앞단에 클라우드 로드밸런서를 하나 더 세우는 게 부담스러운 규모의 서비스가 꽤 많다. 트래픽은 크지 않은데 웹 서버 한 대가 죽으면 서비스 전체가 멈추는 구조, 이런 곳에서 가장 자주 꺼내 드는 카…
Open WebUI로 사내 자체 호스팅 ChatGPT 만들기
사내에서 외부 ChatGPT 사용을 막아둔 곳이 늘고 있다. 계약서나 소스 코드를 붙여넣는 순간 데이터가 밖으로 나가니 보안팀 입장에선 당연한 조치다. 그래서 요즘 "우리 망 안에서만 도는 챗봇을 …
Nginx TLS 설정으로 SSL Labs A+ 받기
도메인 컷오버를 준비하면서 인증서를 새로 발급하다 보니, 예전에 대충 잡아두고 그대로 굴러온 TLS 설정이 다시 눈에 들어왔다. SSL Labs에 걸어보면 A는 나오는데 A+에서 막히거나, 인증서만…
logrotate로 로그 로테이션 관리하기
서버를 오래 돌리다 보면 로그가 디스크를 다 먹는 상황을 한 번씩 만난다. 특히 애플리케이션이 직접 파일에 붙여 쓰는 catalina.out 같은 로그는 방치하면 수십 GB까지 커진다. 예전에 웹,…
Nginx 502 'upstream sent too big header' - proxy_buffer_size, proxy_buffers, busy_buffers_size로 큰 응답 헤더 받기
1. 개요 백엔드 WAS 앞에 Nginx를 리버스 프록시로 두는 구성은 흔하다. 평소 잘 돌던 경로가 어느 날 특정 사용자, 특정 API에서만 502를 내뱉을 때가 있다. 로그인 직후나 세션이 커진…
Rocky/AlmaLinux 9 SELinux가 Nginx, Tomcat를 막을 때 - avc denied 읽고 audit2allow로 정책 모듈 만들기
Rocky Linux나 AlmaLinux 9로 서버를 새로 올리면 CentOS 7 시절과 달리 SELinux가 Enforcing으로 켜진 채 시작한다. 설정 파일도 방화벽도 다 맞는데 Nginx가 …
Apache 웹서버와 Nginx의 성능 비교
웹서버 이야기를 하다 보면 "Nginx가 Apache보다 빠르다더라"는 말이 거의 반사적으로 나온다. 예전에 같은 주제로 간이 비교 글을 세 편 쓴 적이 있는데( 얼렁뚱땅 연구소의 Apache vs…
Nginx upstream keepalive로 백엔드 TCP 핸드셰이크와 TIME_WAIT 줄이기
리버스 프록시를 오래 운영하다 보면 프런트 Nginx는 멀쩡한데 백엔드 앞단에서 TIME_WAIT 소켓이 수만 개씩 쌓이는 장면을 마주한다. WAS 튜닝을 아무리 해도 안 잡히는데, 알고 보면 Ng…
Nginx 보안 설정 실무 - server_tokens, TLS, 보안 헤더, limit_req, 444 차단
새 서버를 인터넷에 열어두고 access log를 지켜보면 몇 분 지나지 않아 낯선 요청이 쌓이기 시작한다. wp-login.php, .env, phpMyAdmin처럼 있지도 않은 경로를 두드리는 …
ALB와 Nginx 뒤 Tomcat이 클라이언트 IP를 프록시 IP로 남길 때 RemoteIpValve로 바로잡기
ALB나 Nginx를 앞단에 두고 Tomcat을 뒤에 붙이는 구성은 흔하다. 그런데 이렇게 올리고 나면 액세스 로그에 찍히는 접속 IP가 전부 프록시 IP 한두 개로 도배되는 걸 발견하게 된다. 로…
nginx[31009]: nginx: [emerg] unknown directive "stream" in /etc/nginx/nginx.conf:xx 발생 시 조치방법
1. 배경 Nginx 기동 시 아래와 같이 stream을 인식할 수 없다는 에러가 발생할 때. nginx[31009]: nginx: [emerg] unknown directive "stream" i…
Amazon Linux에 amazon-linux-extras를 이용하여 Nginx 설치
1. 개요 2. 배경 그냥 yum 명령어로는 nginx 설치가 안된다. $ sudo yum update Loaded plugins: extras_suggestions, langpacks, prior…
[Nginx] 동적 모듈 컴파일
1. Nginx 동적 모듈 컴파일 Nginx의 동적 모듈 컴파일은 버전 1.11.5부터 가능하다. 2. 진행 1) Nginx가 사용하려는 모듈을 지원하는 버전인지 확인. 2) 모듈 소스 확보 #기본…
Amazon Web Services[AWS] 입문(1) - EC2 생성 및 WEB/WAS 구성
1. AWS 인프라 구축 입문 서버 구축부터 배포, 모니터링, 관리 자동화, DevOps까지 따라하며 배우는 과정의 기록입니다. 2. AWS (Amazon Web Services) AWS는 미국 기…
[Nginx] SSL(HTTPS) Error 관련 Error Code 및 Redirect.
Nginx SSL 에러 코드를 이용해서 http 요청이 https Port로 들어왔을 때, Redirect 시킬 수 있습니다. 이를 이용해서 http - https Redirect를 손쉽게 적용 가…
Docker Nginx Conf 파일 반영
1. 개요 2. Docker 중지 2-1. Docker 확인 # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4fc3c04330…
CentOS에 Docker 설치
1. 개요 CentOS에 Docker 설치 2. EPEL 저장소 설정 # yum install docker Loaded plugins: fastestmirror, refresh-packagekit,…
Nginx의 resolver란 무엇인가?
1. 개요 업스트림 서버의 URL 이름을 IP 주소로 변경하는데 사용하는 DNS 서버를 지정하는 설정이다. 2. 설정 resolver 127.0.0.1 [::1]:5353; 만약 명시적으로 포트가 …
Nginx TLS/SSL 인증서(Certificate) 적용 예제
1. 적용 예제 1-1. server { listen 443; server_name 도메인주소; ssl on; ssl_certificate /xxx/xxx/cert.pem; ssl_certifica…
Linux에서 Nginx 1.10.1 설치하고 nginx_status 설정하기
1. 설치 1.10.1 설치 파일은 https://nginx.org/download/nginx-1.10.1.tar.gz 입니다. 1.1. configure # ./configure --prefix=…
Apache SSL 설정 쉽게하기
웹서버 SSL 설정을 하려면, . 웹서버 종류에 따라 설정이 다르고 . 사용자의 브라우저, OS, Java 버전 등에 따른 차이 . OpenSSL 버전에 따른 차이, . 보안 정책 따른 추가설정..…
Nginx 주요 설정 (nginx.conf)
1. 개요 지난 번 포스팅을 통해 OS X에서 Nginx 1.4.4를 설치 하여 보았습니다. 강철지그님께서는 계속 작업을 해주고 계십니다. Linux에서 Nginx 1.4.5 설치 Linux에서 N…
Nginx start/stop/reload script (기동,중지,리로드)
1. 개요 Nginx는 sbin/nginx를 실행하는 것만으로 start가 되고 kill로 nginx process를 죽이면 stop이 됩니다만, 조금 더 편리하게 start/stop 할 수 있게 …