Eu tenho uma landing page feita usando wordpress e está hospedada em example.com. Tenho um aplicativo em execução em app.example.com em um URL externo. Quando o usuário tenta acessar arquivos wordpress, ele deve ser veiculado em example.com e se esse url ou pasta não estiver disponível, o url deve ser mascarado e deve ir para o url remoto como example.com/$1. Tentei usar o proxy reverso nginx, mas não está funcionando.
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;
}
Responder1
O try_files
único verifica se existem arquivos reais no sistema de arquivos. Depois de encontrar um arquivo existente, ele o usa para fornecer uma resposta. try_files
não atua em nenhum código de status HTTP.
Como você sempre tem /index.php
em seu sistema de arquivos, o @proxy
destino nunca é usado.
Você precisa implementar a funcionalidade conectando-se ao gancho de geração de erro 404 do WordPress e executando o proxy lá.