
Eu tenho um balanceador de carga (Nginx) e outro servidor Apache que hospeda um blog wordpress (em/blog). Quero que todo o meu tráfego no meu balanceador de carga /blog
vá para este servidor Apache. Eu tenho as seguintes configurações:
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;
}
}
Isso me mostra a listagem de diretórios no servidor Apache /
onde posso ver, /blog
mas não é isso que eu quero, quero que mostre o conteúdo do /blog
servidor Apache.
Se eu remover a barra final na diretiva /blog location, acabo com redirecionamentos infinitos.
Como faço para resolver isso?
Responder1
Você pode resolver isso substituindo:
proxy_pass http://blog/;
com
proxy_pass http://blog;
Por favor, leia os documentos:http://nginx.org/r/proxy_pass
Responder2
Eu tive um problema semelhante e foi resolvido quando comenteiproxy_set_header Host $host;