nginx 설정 의 proxypass
3264 단어 Nginx
우리 가 크로스 필드 문제 에 부 딪 혔 고 클 라 이언 트 가 CORS 를 지원 할 수 없 을 때 가장 좋 은 방법 은 서버 로 하여 금 프 록 시 를 하 게 하 는 것 이다.전단 페이지 에 있 는 서버 nginx 설정 에 길 을 열 고 proxy 를 사용 하여 다른 도 메 인 이름 의 자원 을 요청 합 니 다.만약 에 크로스 도 메 인 자원 도 같은 기계 에 배치 되면 우 리 는 심지어 proxy 에서 127.0.0.1 까지 할 수 있다. 예 를 들 어:
1
2
3
location /api {
proxy_pass http://127.0.0.1:1234;
}
클 라 이언 트 가 / api 라 는 경로 의 자원 을 요청 할 때 서버 는 127.0.0.1 의 1234 포트 에서 자원 을 찾 아 도 메 인 을 뛰 어 넘 는 문 제 를 해결 하 는 데 도움 을 줄 것 입 니 다.proxy_pass 는 현재 $uri 를 가 져 옵 니 다. 따라서 / api 라 는 경로 가 우리 가 임의로 추가 한 것 이 라면 대상 서비스 에 보 내기 전에 rewrite 를 사용 하여 이 불필요 한 경 로 를 처리 할 수 있 습 니 다. 예 를 들 어:
1
2
3
4
location /api/ {
rewrite ^/api/(.*) /$1 break;
proxy_pass http://127.0.0.1:1234;
}
rewrite 의 역할 은 $uri 를 수정 하 는 것 이지 만 rewrite 는 location 에 다시 일치 하 는 부작용 이 있어 야 합 니 다.proxy 때문에pass 의 처리 단 계 는 location 처리 보다 늦 기 때문에 rewrite 가 다음 location 에 들 어가 서 proxy 를 잃 어 버 리 지 않도록 break 해 야 합 니 다.pass。$1. 첫 번 째 괄호 안에 일치 하 는 정규 인 자 를 나타 낸다.
nginx 에 proxy 설정pass 를 사용 할 때 뒤의 url 에 / 를 추가 하면 절대 루트 경로 에 해당 합 니 다. nginx 는 location 에 일치 하 는 경로 부분 을 대리 하지 않 습 니 다./ 가 없 으 면 일치 하 는 경로 부분 도 대리 에 게 보 냅 니 다.
1
2
3
4
5
6
7
8
9
10
11
http://nginx_server/test/index.html
1, location /test/ {
proxy_pass http://192.168.1.1/ #
}
http://192.168.1.1/index.html
2, location /test/ {
proxy_pass http://192.168.1.1 #
}
http://192.168.1.1/test/index.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
linux2에 nginx 설치설치 가능한 nginx를 확인하고, 해당 nginx를 설치한다. localhost 혹은 해당 ip로 접속을 하면 nginx 화면을 볼 수 있다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.