Proxy inverso Nginx excluyendo archivos

Proxy inverso Nginx excluyendo archivos

Tengo una página de destino creada con WordPress y está alojada en example.com. Tengo una aplicación ejecutándose en app.example.com en una URL externa. Cuando el usuario intenta acceder a archivos de WordPress, debe ser servido desde example.com y si esa URL o carpeta no está disponible, la URL debe estar enmascarada y debe ir a la URL remota como example.com/$1. Intenté usar el proxy inverso nginx pero no funciona.

location / {
    try_files $uri $uri/ /index.php?$query_string @proxy;
}

location @proxy {
    proxy_pass https://example.com/$1;
    proxy_set_header HOST $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

Respuesta1

La try_filesúnica comprobación es si existen archivos reales en el sistema de archivos. Una vez que encuentra un archivo que existe, lo utiliza para dar una respuesta. try_filesno actúa sobre ningún código de estado HTTP.

Como siempre lo tiene /index.phpen su sistema de archivos, el @proxyobjetivo nunca se utiliza.

Debe implementar la funcionalidad conectándose al enlace de generación de errores 404 de WordPress y realizando el proxy allí.

información relacionada