Não é possível fazer login ou realizar qualquer ação ao usar proxy_pass com Nginx

Não é possível fazer login ou realizar qualquer ação ao usar proxy_pass com Nginx

Na minha pergunta anterior aquinginx resolve (aponta) tudo para ip diferente, exceto arquivo e subdiretório específicosPerguntei sobre como resolver meu site whitelabel e suas páginas para IPs diferentes, mas mantenho algumas subpastas e arquivos em meu servidor para carregar. Acontece que é bem simples de fazer e a solução final ficou assim:

location /robots.txt {
   alias {DOCROOT};
}
server_name {SERVERNAME};
location ~ /\.php$ {
    proxy_pass  10.10.10.10 <== whitelabel ip;
    proxy_set_header Host            {SERVERNAME};
    proxy_set_header X-Forwarded-For myaccount.whitelabelsite.com;
    proxy_redirect off;
    proxy_set_header Connection "Keep-Alive";
    proxy_buffering off;
}

Então aqui eu carrego tudo do meu site whitelabel em meu domínio, mas ainda mantenho o robots.txt para carregar da minha hospedagem e alguns outros arquivos.

O problema agora é que estou usando esse método e não consigo fazer login na minha conta no site whitelabel.

Portanto, {SERVERNAME}a diretiva é basicamente meu nome de domínio mydomain.come quando tento fazer login, mydomain.com/aff/panelela abre a página, ela não gera nenhum erro, apenas atualiza a página e não faz nada. O mesmo acontece se alguém quiser fazer uma reserva ou enviar um formulário por e-mail. Ele abre páginas, mas na verdade não executa nenhuma ação.

Quando eu estava usando o redirecionamento de DNS, tudo funcionava, mas agora não funciona. Estou faltando algumas informações de proxy ou ações de postagem/obtenção de cabeçalhos encaminhadas de e para whitelabel?

Responder1

O aplicativo backend, em "whitelabelsite.com" pode não funcionar corretamente sem o Host configurado corretamente. Defina o cabeçalho Host com o nome do host para o qual você está fazendo proxy, em vez do seu próprio.

proxy_set_header Host myaccount.whitelabelsite.com

Tem certeza de que precisa proxy_redirect off? Isso pode impedir que o site back-end envie redirecionamentos.

Além disso, provavelmente não está relacionado ao problema, mas X-Forwarded-Fordeve ser o endereço IP do cliente. O nginx possui uma variável especial para adicionar o ip corretamente.

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

É um pouco de adivinhação sem acesso a todos os detalhes, espero que ajude.

informação relacionada