estratégias baseadas em DNS para mostrar uma boa “Atualmente offline” página quando o servidor está em baixo

StackOverflow https://stackoverflow.com/questions/756532

  •  09-09-2019
  •  | 
  •  

Pergunta

Como posso fazer que um site mostram automagicamente uma bela página "Atualmente offline" quando o servidor está em baixo (quero dizer, o servidor completo é baixo e o pedido não pode alcançar IIS)

Alterar o DNS manualmente não é uma opção.

Editar: Eu estou olhando para algum tipo de truque DNS para redirecionar para outro servidor no caso do servidor principal é baixo. Posso fazer alterações permanentes para o DNS, mas não manualmente como o servidor vai para baixo.

Foi útil?

Solução

Eu tenho usado os serviços uptime em DNSMadeEasy com grande sucesso. Com efeito, eles definir o TTL de DNS para um número muito baixo (5 minutos). Eles cuidam de ping do servidor.

Em caso de falha, consultas DNS se direcionado para o IP secundário. Uma excelente opção para um "warm reposição" em pequenas lojas com os requisitos de DNS limitados. Eu usei-os por 3 anos sem um único minuto de tempo de inatividade.

EDIT:

Isto permite failover geograficamente redundantes, que a solução NLB proposta não aborda. Se a conexão de rede está em baixo, ambos os servidores em uma configuração NLB padrão será inacessível.

Outras dicas

Alguns servidor precisa repartir o "página atualmente off-line", por isso, se o servidor é completamente para baixo, lá terá que ser algum outro servidor servindo o arquivo (s), então ou você pode configurar um cluster de servidores ( mesmo que apenas 2) e enquanto o primeiro é para baixo, a 2ª é configurado apenas para voltar para a página "no momento offline". Uma vez que o primeiro servidor está de volta, você pode derrubar o 2º safetly (como servidor 1 vai levar toda a carga).

Você provavelmente precisará de um segundo servidor com 100% de tempo de atividade e, em seguida, adicionar algum tipo de balanceador de carga de failover. para ele, e se o servidor principal é redirecionamento on-line para isso e se não for redirecionar para si mostrando uma página dizendo servidor está em baixo

Eu acredito que se o servidor está em baixo, não há nada que você pode fazer. O pedido enviará um 404 erro de rede, porque quando o endereço web é resolvido para um IP, o IP que está sendo solicitado não existe (porque o servidor está em baixo). Se você não pode alterar a entrada de DNS, em seguida, o navegador do cliente vai continuar a bater xxx.xxx.xxx.xxx e nunca obter uma resposta.

Se o servidor é para cima, mas o site está em baixo, você tem opções.

Editar

A sua edição menciona que você pode fazer uma mudança permanente do IP. Mas você ainda precisa de uma configuração de dois servidores, a fim de conseguir o que você está falando. Você pode direcionar o DNS para um balanceador de carga que seria capaz de direcionar a solicitação a um servidor que está ativo atualmente. No entanto, isso ainda requer% uptime 100 para o servidor que os pontos de DNS para.

Não importa o que, se o servidor que o DNS está apontando para (que você deve controlar, a fim de redirecionar o tráfego) é baixo, então todos os pedidos receberão um 404 erro de rede.

Editar Graças ao brian para apontar meu erro 404 erro.

A sério, DNS é não a resposta certa para servidor balanceamento de carga ou fail-over. Demais sistemas (incluindo clientes stub e ISP determinação recursiva) irá armazenar em cache registros por muito mais tempo do que o TTL especificado.

Se ambos os servidores estão na mesma rede, o uso protocolos de roteamento para alcançar fail-over por ter ambos os servidores apresentam o mesmo endereço IP para a rede, mas onde o fail-over servidor só assume se detectar que o (supostamente ) servidor ao vivo é offline.

Se os servidores são Unix, isso é facilmente feito através da execução Quagga em cada servidor, e em seguida, usando OSPF como protocolo de roteamento local. Eu usei pessoalmente este para servidores em espera passiva, onde o sistema redundante estava realmente em outro centro de dados, embora um que foi conectado através de um link direto para o centro de dados principal.

Alguns provedores de DNS, como Route 53 da AWS, tem uma opção de saúde-check, que pode ser usada para re-route para uma página estática. AWS tem uma how-to orientar sobre como fazer essa configuração .

Estou pensando se o site é carga balanceada o balanceador de carga em si iria detectar que os servidores web que está tentando redirecionar os clientes estão para baixo, portanto, seria enviar o usuário para um servidor de backup com uma mensagem ditando problemas técnicos.

Além disso .....

A única coisa que posso pensar é controlar a página de chamada. Obviamente que não vai funcionar em todas as circunstâncias ... mas se você sabe que a maioria de seus acessos a este servidor virá de uma fonte particular, então você pode adicionar um teste java script com a fonte, e redirecionamento para um "down servidor "página que é gerado em um servidor diferente.

Mas se você está tentando lidar com todos os hits, de todas as fontes (alguns dos quais você não pode controlar), então eu acho que você está fora de sorte. Como outras pessoas estão dizendo -. Quando um servidor está em baixo, o navegador recebe um erro 404 quando se tenta uma conexão

... talvez houvesse uma maneira em um ponto no meio para detectar erros 404 que estão sendo devolvidos pelos servidores e substituí-los com um "servidor está em baixo" página web. Você precisa de algo como um HTML firewall ou algum outro equipamento de rede intermediário entre o servidor eo cliente web.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top