좋아,이 작업은 간단해야하지만 제대로 작동하지 않습니다. 내 도메인 이름 뒤에 (실제로 해당 도메인 이름의 IP 뒤에) 하위 폴더를 만들고 싶습니다. 동일한 폴더의 특정 포트로 리디렉션됩니다. 본질적으로 많은 포트를 사용하지 않아도됩니다.
여기 내 nginx 설정이 있습니다.
server {
listen 80;
index index.html index.htm index.nginx-debian.html index.php;
server_name aaa.bbb.ccc.ddd;
location ^~ /app2 {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://aaa.bbb.ccc.ddd:8001;
}
}
따라서 aaa.bbb.ccc.ddd / app2에 액세스하면 http : //aaa.bbb.ccc.ddd : 8001 로 해결하고 싶습니다 .
이것은 아마도 너무 복잡 할 수 있습니다. 내가 여기서 무엇을 놓치고 있습니까?
감사합니다 Pat
답변
이 질문을 리버스 프록시 질문으로 태그 했으므로 사용자가 http://aaa.bbb.ccc.ddd/app2
브라우저에서 URL 만 볼 수 있도록 요청을 프록시하고 싶다고 가정 합니다.
location
블록을 다음과 같이 변경할 수 있습니다 .
location ~/app2(.*)$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://aaa.bbb.ccc.ddd:8001$1;
}
여기에서 우리는 후 URI 부분을 캡처 /app2
하는 $1
변수, 그리고 그것을 사용 proxy_pass
지침.