Proxy inverso de Nginx que conduce al bucle de redireccionamiento

Proxy inverso de Nginx que conduce al bucle de redireccionamiento

Tengo un equilibrador de carga (Nginx) y otro servidor Apache que aloja un blog de WordPress (en/blog). Quiero que todo mi tráfico en mi balanceador de carga /blogvaya a este servidor Apache. Tengo las siguientes configuraciones:

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;
  }

}

Esto me muestra la lista de directorios en el servidor Apache /donde puedo ver, /blogsin embargo, eso no es lo que quiero, quiero que muestre el contenido del /blogservidor Apache.

Si elimino la barra diagonal final en la directiva de ubicación /blog, termino con redirecciones interminables.

¿Cómo puedo solucionar esto?

Respuesta1

Puedes resolver esto reemplazando:

proxy_pass http://blog/;

con

proxy_pass http://blog;

Por favor lea los documentos:http://nginx.org/r/proxy_pass

Respuesta2

Tuve un problema similar y se resolvió cuando comenté.proxy_set_header Host $host;

información relacionada