
저는 로드 밸런서(Nginx)와 wordpress 블로그(/blog)를 호스팅하는 또 다른 Apache 서버를 가지고 있습니다. 내 로드 밸런서의 모든 트래픽이 /blog
이 Apache 서버로 이동하기를 원합니다 . 다음과 같은 설정이 있습니다.
upstream main_app {
server main_app_address;
}
upstream blog {
server blog_address;
}
server {
server_name appname.com;
return 301 http://www.appname.com$request_uri permanent;
}
server {
listen 80;
server_name appname.com;
location / {
client_max_body_size 8M;
proxy_pass http://main_app;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
}
location /blog {
proxy_pass http://blog/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
}
}
/
이것은 내가 볼 수 있는 Apache 서버의 디렉토리 목록을 보여줍니다. 그러나 그것은 내가 원하는 것이 아니며 Apache 서버 /blog
의 내용을 표시하고 싶습니다 ./blog
/blog 위치 지시문에서 후행 슬래시를 제거하면 끝없는 리디렉션이 발생합니다.
이 문제를 어떻게 해결하나요?
답변1
다음을 교체하여 이 문제를 해결할 수 있습니다.
proxy_pass http://blog/;
~와 함께
proxy_pass http://blog;
문서를 읽어보세요:http://nginx.org/r/proxy_pass
답변2
저도 비슷한 문제가 있었는데 댓글달았더니 해결됐네요proxy_set_header Host $host;