Você está desnecessariamente complicando as coisas. Se você tem "diferenças relacionadas a hosts virtuais, ssl, etc", então FIX THOSE. Quando você começa a manipular as coisas com cookies e query string args (você vai modificar seu aplicativo para persistir essa query string arg através de cada requisição? Mesmo mais complicações ...) você apenas torna as coisas mais complicadas , o que significa mais difícil de depurar, mais provável que seja acidentalmente quebrado por uma mudança não relacionada, e geralmente você só dificulta a vida para si mesmo e para todos os outros.
Então, dê um passo atrás e, em vez de perguntar sobre a implementação de uma solução incompleta que você criou, faça uma pergunta sobre como resolver seu problema . "Nós temos um haproxy e gostaríamos de acessar as máquinas diretamente, mas quando fazemos isso, conseguimos ( descrever a diferença com hosts virtuais )."
Meu palpite para o problema do vhosts é que eles não são configurados para aceitar o nome da máquina diretamente, o que é trivial para corrigir - uma entrada extra em server_name
(ou um novo ServerAlias
) leva você até lá. Para SSL, isso é um pouco mais complicado se você não estiver usando um certificado curinga, mas como são apenas usuários internos, ignorar o aviso SSL é uma solução (semi) válida para o problema - ou é possível executar um certificado SSL separado para o material por máquina (em uma CA interna). Se você estiver encerrando o SSL no balanceador de carga, pare de fazer então .