Existe uma maneira de acessar um servidor específico com o nome do host em uma instalação round-robin?

8

Eu tenho um cluster de servidores Web Apache usando round-robin para balanceamento de carga primitivo. Existe uma maneira de o firefox ou o chrome solicitarem o nome do servidor de um IP específico?

Se você digitar o http://1.2.3.4 , ele não obterá o ServerName e, se você digitar http: // servername , poderá obter qualquer um dos servidores.

Bryan Agee
fonte
O round-robin é um tipo de conexão persistente de conexão com o servidor back-end?
18711 djangofan
2
As respostas de Dmourati e Eduardo são pontuais.
Hyppy
@djangofan: Não - os servidores estão totalmente paralelos em relação à sessão. Se alguém cair, qualquer outro servidor poderá retomar a transação.
Bryan Agee

Respostas:

10

Suponho que você esteja falando de DNS round-robin. Nesse caso, a maneira básica em que consigo pensar é apenas editar seus / etc / hosts para apontar para o back-end que você deseja tentar em um determinado momento:

1.2.3.4 servername

Pode ser necessário reiniciar o navegador posteriormente para garantir que não seja usada uma resposta DNS em cache.

Além disso, você pode adicionar entradas adicionais no seu DNS, como servername-001, -002, etc., e configurar seus back-end para aceitar esses nomes como um ServerAlias ​​para o VirtualHost que você deseja. É claro que você também pode definir o VirtualHost como padrão, para que ele funcione usando o IP e omitir esta última etapa, supondo que o seu aplicativo não presuma que esteja sendo executado com um nome específico.

Editar: isso pode ser útil - é uma extensão do Firefox que permite modificar os cabeçalhos das solicitações. Sem dúvida, você pode modificar Hostpara visitar os back-ends especificando diretamente um ServerName. Eu ainda não tentei.

https://addons.mozilla.org/en-us/firefox/addon/modify-headers/

Eduardo Ivanec
fonte
11

Você precisa modificar o cabeçalho do host HTTP.

Vejo:

http://en.wikipedia.org/wiki/List_of_HTTP_header_fields

Eu faço isso com curl:

curl -H host:servername http://1.2.3.4

Você pode achar úteis os seguintes plugins:

https://addons.mozilla.org/en-us/firefox/addon/modify-headers/

https://addons.mozilla.org/en-US/firefox/addon/tamper-data/eula/33806

dmourati
fonte
Editei minha postagem com o mesmo URL antes de ver sua contribuição! Espero que você não se importe. +1 para curl.
Eduardo Ivanec
@ Eduardo, de jeito nenhum. Ultimamente tenho andado brincando com esse problema exato e usando a abordagem de curvatura. Não foi possível encontrar nada útil para o OP na frente do chrome.
Dmourati 18/05/11
Definitivamente +1 para a ponta do cacho. Obrigado!
Bryan Agee