Nginx 중 proxy질문

10530 단어 nginx
Nginx 홈 페이지 proxypass 는 두 가지 유형 으로 나 뉜 다. 하 나 는 IP 와 포트 번호 만 포함 하 는 것 (포트 뒤의 / 도 없 으 니 주의해 야 한다) 이다. 예 를 들 어 proxy_pass http://localhost:8080 이런 방식 을 URI 가 없 는 방식 이 라 고 한다.다른 하 나 는 포트 번호 뒤에 다른 경로 가 있 는데 하나의 /, 예 를 들 어 proxy_pass http://localhost:8080/ 와 다른 경 로 를 포함한다. 예 를 들 어 proxy_pass http://localhost:8080/abc.
즉, proxy_pass http://localhost:8080proxy_pass http://localhost:8080/ (끝 이 많은 / 는 서로 다른 처리 방식 이 고 proxy_pass http://localhost:8080/proxy_pass http://localhost:8080/abc 는 같은 처리 방식 이다.
URI 가 없 는 방식 에 대해 nginx 는 location 의 경로 부분 을 유지 합 니 다. 예 를 들 어:
location /api1/ {
	proxy_pass http://localhost:8080;
}

방문 http://localhost/api1/xxx 시 대리 http://localhost:8080/api1/xxxURI 방식 에 대해 nginx 는 alias 와 같은 교체 방식 으로 URL 을 교체 할 것 입 니 다. 또한 이러한 교 체 는 글자 의 교체 일 뿐 입 니 다. 예 를 들 어:
location /api2/ {
	proxy_pass http://localhost:8080/;
}

방문 http://localhost/api2/xxx 했 을 때 http://localhost/api2/ (마지막 주의 /http://localhost:8080/ 로 바 뀌 었 고 나머지 xxx 를 더 해 http://localhost:8080/xxx 로 바 뀌 었 다.
또 예 를 들 면:
location /api5/ {
	proxy_pass http://localhost:8080/haha;
}

방문 http://localhost/api5/xxx 할 때 http://localhost/api5/ 가 교체 http://localhost:8080/haha 되 었 습 니 다. 여기 haha 뒤에 없 음 / 을 주의 하 세 요. 그리고 나머지 xxx, 즉 http://localhost:8080/haha + xxx = http://localhost:8080/hahaxxx, 이상 하 죠?
요약:
server {
  listen       80;
  server_name  localhost;
  location /api1/ {
  	proxy_pass http://localhost:8080;
  }
  # http://localhost/api1/xxx -> http://localhost:8080/api1/xxx
  location /api2/ {
  	proxy_pass http://localhost:8080/;
  }
  # http://localhost/api2/xxx -> http://localhost:8080/xxx
  location /api3 {
  	proxy_pass http://localhost:8080;
  }
  # http://localhost/api3/xxx -> http://localhost:8080/api3/xxx
  location /api4 {
  	proxy_pass http://localhost:8080/;
  }
  # http://localhost/api4/xxx -> http://localhost:8080//xxx,         ,      。
  location /api5/ {
  	proxy_pass http://localhost:8080/haha;
  }
  # http://localhost/api5/xxx -> http://localhost:8080/hahaxxx,      haha xxx      ,      。
  location /api6/ {
  	proxy_pass http://localhost:8080/haha/;
  }
  # http://localhost/api6/xxx -> http://localhost:8080/haha/xxx
  location /api7 {
  	proxy_pass http://localhost:8080/haha;
  }
  # http://localhost/api7/xxx -> http://localhost:8080/haha/xxx
  location /api8 {
  	proxy_pass http://localhost:8080/haha/;
  }
  # http://localhost/api8/xxx -> http://localhost:8080/haha//xxx,         。
}

좋은 웹페이지 즐겨찾기