Nginx 중 proxy패스 의 평행봉 문제 [전재]
Nginx 홈 페이지 proxypass 는 두 가지 유형 으로 나 뉜 다. 하 나 는 IP 와 포트 번호 만 포함 하 는 (포트 뒤의
/
도 없 는데 여기 서 특히 주의해 야 한다). 예 를 들 어 proxy_pass http://localhost:8080
이런 방식 을 URI 가 없 는 방식 이 라 고 한다.다른 하 나 는 포트 번호 뒤에 다른 경로 가 있 는데 하나의 /
, 예 를 들 어 proxy_pass http://localhost:8080/
와 다른 경 로 를 포함한다. 예 를 들 어 proxy_pass http://localhost:8080/abc
.즉,
proxy_pass http://localhost:8080
와 proxy_pass http://localhost:8080/
(끝 이 많은 /
는 서로 다른 처리 방식 이 고 proxy_pass http://localhost:8080/
와 proxy_pass http://localhost:8080/abc
는 같은 처리 방식 이다. 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/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, 。
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.