
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.com
e quando tento fazer login, mydomain.com/aff/panel
ela 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-For
deve 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.