본문 바로가기

nginx5

Nginx 서브 도메인 설정하기 Nginx는 서브 도메인을 설정하여 도메인 입력시 해당 주소로 redirect 시켜주는 기능이 존재한다. 예를 들어 jenkins port가 8080이라고 하자. 만약 서브 도메인이 없다면 입력시마다 ${protocol}:${your_domain}:8080으로 접속을 해야한다. 각 페이지마다 포트를 기억하지 않는다면 상당히 비효율적이다. 하지만 Nginx에 서브도메인명으로 설정파일을 생성해주면 ${protocol}:${sub_domain}:${your_domain} 으로 접속이 가능하다. 나의 경우 jenkins를 서브도메인명으로 생성해보겠다. 우선 "/etc/nginx/sites-available"에 서브 도메인 설정을 해준다. cd /etc/nginx/sites-available# 나의 경우 jenk.. 2024. 5. 26.
Nginx: [emerg] socket() [::]:80 failed (97: Unknown error) "Nginx: [emerg] socket() [::]:80 failed (97: Unknown error)" 해당 에러는 ipv6를 지원하지 않는 서버에서 Nginx를 구동시 발생하는 에러다. 기본 Nginx 설정에서 ipv6 부분을 disable 하면 해당 문제를 해결 할 수 있다. cd /etc/nginx/sites-enabled # default 파일 수정 vi default # ipv6 disable 하기 # before,,, listen [::]:80; # 해당 부분을 주석처리 해주자 # after # listen [::]:80; # nginx 재시작 systemctl start nginx.service # status 체크 systemctl status nginx.service ● nginx... 2024. 3. 25.
Nginx - 로그 포맷 설정 Nginx에서 로그 포맷을 설정하여 모니터링에 필요한 정보를 남길 수 있다. 실제 클라이언트 IP 부터 국가, 도시, 타운 정보까지 다양한 정보를 얻을 수 있다고 한다. 물론 Spring 단에서도 로그를 남기고 있지만 더욱 자세한 정보를 얻기 위해 Nginx 로그 포맷을 따로 설정해줬다. 본인은 Nginx 1.14.0 버전이기에 /etc/nginx/nginx.conf 파일에 로그 포맷을 설정해주기로 결정하였다. cd /etc/nginx vi nginx.conf # http 바디에 다음 로그 포맷 설정 log_format mybingo '[$time_local] $remote_addr ' '$realip_remote_addr $remote_user ' '$request_method $server_proto.. 2024. 1. 24.
Nginx - Load Balancing Nginx에서 URI 별로 간단하게 로드밸런싱을 적용 할 수 있다는 사실을 알게 되었다. 물론 Spring에서도 Bucket4j 를 활용해 제한할 수 있지만, 우선 현재 정책상 유저의 권한에 따른 차등 정책이 없기 때문에 웹 서버단에서 전체적으로 Request를 조절해 보려고 한다. (ex: brute force 공격을 막기 위해 로그인 URI를 보호한다던지..) 적용법은 의외로 간단하다. (해당 설명은 nginx 1.14.0을 기준으로 진행됩니다. 버전별 설정 적용 부분이 상이 할 수 있습니다.) cd /etc/nginx # edit config vi nginx.conf # http body에 다음 추가후 저장 limit_req_zone $binary_remote_addr zone=bingolimit:.. 2024. 1. 22.