반응형

 

nginx 구성

#기본 경로
/etc/nginx
#메인 설정
/etc/nginx/nginx.conf
	    include /etc/nginx/conf.d/*.conf;

#설정 값 경로 -> alphabetical order로 설정파일 읽음
/etc/nginx/conf.d

#nginx -T 로 설정값 읽는 순서 파악 가능

 

reverse proxy로서의 역할

  • server side proxy; client와 백엔드 사이에서 연결 중재
  • server블락 안의 proxy_pass 지시문 
  • 연결이 끊어지기 전에 연결을 닫고, 백엔드에 대한 새 연결을 하는데, 도중에 original 정보 손실 가능성 있음
  • 클라이언트 정보(ip, request, etc) 캡처 후 연결 종료
  • 백엔드로 새 연결 시 기존 정보를 헤더(proxy_set_header)에 담아서 전달
  • 웹서버 역할도 하고 애플리케이션을 호스팅도 하면서 프록시역할도 함

 

location / {
    proxy_pass http://127.0.0.1:8080;
}

이것이 기본적인 구문이다. 즉, 현재 서버에 / 로 시작하는 path로 접근하면, http://127.0.0.1:8080 으로 return 한다는 의미이다. 그러면 실제 사용자는 8080 포트에 접근하지 않았지만 8080 포트에 접근한 것과 동일한 효과가 발생한다.

nginx는 클라이언트가 접근한 path를 보고, 가장 적합한 location의 블럭으로 요청을 보내서 처리하게 된다. 주소에 대한 규칙 및 우선순위는 다음과 같다.

  1. = : 정규식이 정확하게 일치
    • location = /admin { . . . }
  2. ^~ : 정규식 앞부분이 일치
    • location ^~ /admin { . . . }
  3. ~ : 정규식 대/소문자 일치
    • location ~ /admin/ { . . . }
  4. ~* : 대/소문자를 구분하지 않고 일치
    • location ~* .(jpg|png|gif)
  5. /  : 하위 일치(prefix match)
    • location /admin { . . . }

 

예시는 아래 링크로 첨부한다.

https://www.digitalocean.com/community/tutorials/understanding-nginx-server-and-location-block-selection-algorithms

 

Understanding Nginx Server and Location Block Selection Algorithms | DigitalOcean

 

www.digitalocean.com


default.conf수정

새로운 로그파일에 해더 찍도록 설정

초기 default.conf

 

수정 default.conf

sudo nginx -s reload

conf파일을 수정한 경우 위 명령어로 반드시 리로드를 해줘야 한다.


참고: 원문 https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

 

NGINX Reverse Proxy | NGINX Plus

NGINX Reverse Proxy Configure NGINX as a reverse proxy for HTTP and other protocols, with support for modifying request headers and fine-tuned buffering of responses. This article describes the basic configuration of a proxy server. You will learn how to p

docs.nginx.com

 

728x90
반응형

'서버 세팅 & tool > nginx' 카테고리의 다른 글

[이슈해결][apache] 304 NOT_MODIFIED  (0) 2023.10.12
[nginx] WAF  (0) 2022.03.30
[nginx] API gateway  (0) 2022.03.14
[nginx] 실전 cors 해결하기  (0) 2022.03.14
[nginx] load balancing  (0) 2022.03.11

+ Recent posts