Um proxy reverso externo que aponta para seu site ativo pode exibir uma página padrão quando o site de back-end não estiver disponível.
Hospedamos nossos sites da Web ASP.NET internamente (dentro de nossa DMZ). Quando estamos fazendo manutenção de rede, etc., gostaríamos que nossos sites exibissem uma página de manutenção, mas nossa rede está inativa, portanto nossos servidores de hospedagem estão desativados. Não hospedamos nossas entradas de DNS (elas são tratadas externamente) para que pudéssemos ter uma página de manutenção hospedada externamente, mas exigir uma alteração de DNS para manutenção levaria muito tempo. Que tipo de soluções poderíamos empregar para lidar com interrupções de rede enquanto ainda damos aos nossos usuários externos alguma indicação de que ainda existimos? O que funcionou para você e o que você tentou?
Um proxy reverso externo que aponta para seu site ativo pode exibir uma página padrão quando o site de back-end não estiver disponível.
Eu uso o haproxy para essa configuração exata. Está hospedado em um VPS Linux externo. Quando o sistema proxy consegue obter com êxito a página de verificação de integridade no servidor da Web real, é isso que é exibido ao cliente. Quando a verificação de integridade falha, ela exibe uma página estática de um servidor Apache local para o proxy VPS.
Aqui está o meu haproxy.conf:
global
maxconn 4096
daemon
defaults
mode http
clitimeout 60000
srvtimeout 30000
contimeout 4000
option httpclose # Disable Keepalive
listen FarmName 10.9.8.7:80
mode http
stats enable
stats auth admin:Fa2a6eSe
balance roundrobin
cookie haCookie insert nocache
option httpclose
option forwardfor
option httpchk HEAD /healthcheck HTTP/1.0
server active 1.2.3.4:5080 check
server static-backup 127.0.0.1:80 check inter 500 rise 1 fall 2 backup
Bem, eu não sei se esta é a solução ideal, porque está adicionando complexidade à sua solução: você pode colocar alguns proxies reversos (squid, MS ISA, ...) na frente de seus servidores web (fora do seu servidor). rede) e executar as solicitações por meio desses servidores.
Então, quando você está planejando o tempo de inatividade, basta alterar algumas regras para mostrar a mensagem estática "desculpe, estamos off-line" .
Você pode configurar uma solução de failover de DNS (o DNS Made Easy fornece essa opção), mas, dependendo das configurações de TTL, as pessoas provavelmente não receberão as atualizações, exceto por interrupções mais longas. Claro, você também precisaria de um servidor externo para hospedar a página de manutenção.
Sua melhor opção para o failover instantâneo é comprar um pequeno servidor hospedado em algum lugar, com uma página da Web estática e usar uma ferramenta (como heartbeat no linux) para monitorar quando o servidor principal está indisponível e faz com que o servidor secundário assuma o endereço IP.
Por que não apenas provisionar uma única estação de trabalho / servidor com o IIS exibindo uma única página de manutenção estática? Quando você precisar desativar os servidores da Web, basta acessar a estação de trabalho de manutenção e certificar-se de que ela responda às solicitações da Web que chegam ...
Devido à simples página web estática, você provavelmente poderia sair com uma pequena / média estação de trabalho, talvez até mesmo um laptop ... Você poderia até mesmo se safar com uma Máquina Virtual que fica offline até que você precise dela ...
Parece que todo o resto é mais trabalho do que o necessário ...
Se você tiver um site de aplicativo da web asp.net e colocar um arquivo de texto chamado " app_offline.htm " na raiz do site, todas as solicitações para esse site serão redirecionadas para esse app_offline arquivo .htm.
Basicamente, se você precisar colocar um site ASP.NET inteiro offline, poderá colocar uma mensagem legal nesse arquivo. Em seguida, qualquer nova solicitação para um URL, qualquer URL, nesse site será redirecionada para esse arquivo, permitindo que você faça manutenção no site, atualizações ou qualquer outra coisa. Não é realmente um redirecionamento embora. O ASP.NET basicamente encerra o site, descarrega-o do servidor e para de processar qualquer solicitação para esse site. Ou seja, até que você exclua o arquivo app_offline.htm - as coisas continuarão normalmente e seu site ASP.NET será carregado e começará a atender as solicitações novamente.
Espero que ajude. Felicidades!