728x90

nginx 6

nginx header log (custom header 사용)

nginx.conf 파일에서 $header_을 사용하면 된다. custom header가 제대로 나오고 있는지 확인하기 위해 custom header 값으로 로그를 찍는 테스트를 진행해 봤다. python 테스트 코드 import requests def getAuthHeader(): # http 호출 헤더값 설정 http_header = { 'test': 'test-header', 'key': 'test-key', } return http_header #header 생성 http_header = getAuthHeader() #nginx가 있는 서버 ip 입력 response = requests.get('http://serverip', headers=http_header) print (response) n..

Nginx 2023.12.11

nginx log 경로 변경 후 오류 (13: Permission denied) while logging request

nginx에서 log를 남길 때 로그 파일이름을 $hostname-access.log / error.log의 형태로 남기고 있었다. 테스트를 위해 log 경로를 수정했는데 $hostname-access.log는 하나도 남지 않고 error.log만 잔뜩 쌓여있었다. error.log를 확인해 봤더니 아래처럼 Permission denied 에러가 발생하고 있었다. 2023/07/11 16:55:58 [crit] 68792#68792: *1 open() "/var/log/nginx/test-virtual-machine-access.log" failed (13: Permission denied) while logging request, client: {ip}, server: , request: "GET / ..

Nginx 2023.07.11

Nginx 오류 a duplicate default server for 0.0.0.0:80

아래처럼 nginx.conf server 부분을 세팅하고 nginx를 restart 했더니 다음과 같은 오류가 발생했다. nginx: [emerg] a duplicate default server for 0.0.0.0:80 in /etc/nginx/nginx.conf:65 server { listen 80 default_server; location = /robots.txt { alias /usr/share/nginx/html/robots.txt; } } 해결방법 아래 방법을 통해 오류를 간단하게 해결할 수 있다. cd /etc/nginx/sites-enabled unlink default service nginx restart

Nginx 2023.07.10

Nginx restrict access by ip 사용자 ip로 제한하기-2(추가작업)

지난 포스팅에서 nginx에서 ip를 기준으로 사용자 접근을 허용, 제한하는 방법에 대해서 알아봤다. https://babbeolicoding.tistory.com/55 Nginx restrict access by ip 사용자 ip로 제한하기 우선 기본적으로 nginx에서 ip기준으로 서비스를 차단, 허용하는 방법은 allow, deny를 사용하는 것이다. allow ip deny all; -> 이런 경우특정 ip 만 허용되고 나머지 경우는 전부 차단된다. 하지만 lb를 통 babbeolicoding.tistory.com 지난 시간에 포스팅한 내용에서 2번 방법을 사용하면 /etc/nginx/nginx.conf가 아닌 /etc/nginx/conf.d/*.conf 파일들에 각각 if 문을 적용해야 한다. ..

Nginx 2023.06.27

Nginx restrict access by ip 사용자 ip로 제한하기

우선 기본적으로 nginx에서 ip기준으로 서비스를 차단, 허용하는 방법은 allow, deny를 사용하는 것이다. allow ip deny all; -> 이런 경우특정 ip 만 허용되고 나머지 경우는 전부 차단된다. 하지만 lb를 통해 유입되는 경우 client ip가 아닌 lb ip로 변환된 상태로 서비스유입이 된다. 해당경우는 client ip로 제어를 하기 힘들다. 이런 경우 X-Forwarded-For 기능을 사용해 client ip를 보존해 해당 ip를 통해 allow, deny가 가능하다. Client IP를 사용하는 방법 우선 nginx log 포맷은 아래와 같은 상태로 진행해봤다. log_format main '$http_x_forwarded_for - $remote_addr - $rem..

Nginx 2023.06.26

Nginx resolver 설정(Dynamic DNS resolution)

나 같은 경우 Nginx와 AWS ELB를 사용할 때 간헐적으로 Nginx 서비스가 안 되는 경우를 경험했다. 그 이유와 해결 방법에 대해서 포스팅을 진행해 봤다. - Dynamic DNS resolution란? DNS의 IP가 변경되었을때 자동적으로 IP를 변경해주는 기능을 Dynamic DNS Resolution라고 함 유료 솔루션인 Nginx Plus의 경우는 Dynamic DNS Resolution 기능이 제공되지만 무료 솔루션인 Nginx Open은 기능이 제공되지 않음(하지만 해당 기능을 사용하는 방법은 존재) - Nginx와 ELB 사용 시 오류가 발생하는 이유 Nginx는 기동될때 ELB의 ip를 가져와 캐시에 로드함 AWS ELB인 경우 ip가 동적으로 변경됨 ELB의 ip가 변경되는 경..

Nginx 2023.06.12
728x90