Frage So zeigen Sie eine Wartungsseite für die Website an, wenn unser Netzwerk nicht verfügbar ist


Wir hosten unsere ASP.NET-Websites intern (innerhalb unserer DMZ). Bei Wartungsarbeiten am Netzwerk möchten wir, dass auf unseren Websites eine Wartungsseite angezeigt wird, aber unser Netzwerk ist inaktiv, sodass unsere Hosting-Server nicht verfügbar sind. Wir hosten unsere DNS-Einträge nicht (es wird extern behandelt), so dass wir eine Wartungsseite extern hosten lassen könnten, aber das Verschieben einer DNS-Änderung für die Wartung würde zu lange dauern. Welche Arten von Lösungen könnten wir hier einsetzen, um Netzwerkausfälle zu bewältigen, während wir unseren externen Nutzern immer noch Hinweise geben, dass wir noch existieren? Was hat bei dir funktioniert und was hast du probiert?


5
2018-06-10 16:53


Ursprung




Antworten:


Ein externer Reverse-Proxy, der auf Ihre Live-Site verweist, kann eine Standardseite anzeigen, wenn die Back-End-Site nicht verfügbar ist.


3
2018-06-10 16:57





Ich benutze Haproxy für dieses genaue Setup. Es wird auf einem externen Linux VPS gehostet. Wenn das Proxy-System die Integritätsprüfungsseite erfolgreich auf dem tatsächlichen Webserver abrufen kann, wird dies dem Client bereitgestellt. Wenn die Integritätsprüfung fehlschlägt, wird eine statische Seite von einem Apache-Server bereitgestellt, der für den Proxy-VPS lokal ist.

Hier ist meine 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

2
2017-07-15 00:48





Nun, ich weiß nicht, ob dies die optimale Lösung ist, weil es Ihrer Lösung Komplexität hinzufügt: Sie könnten einige Reverse Proxies (Tintenfisch, MS ISA, ...) vor Ihren Webservern (außerhalb Ihres Netzwerks) platzieren und Führen Sie die Anfragen über diese Server aus.

Wenn Sie also eine Ausfallzeit planen, müssen Sie einfach einige Regeln ändern, um das Statische anzuzeigen "Entschuldigung, wir sind offline" Botschaft.


0
2018-06-10 16:59





Sie können eine DNS-Failover-Lösung einrichten (DNS Made Easy bietet diese Option), aber abhängig von Ihren TTL-Einstellungen werden Personen die Updates wahrscheinlich nur bei längeren Ausfällen erhalten. Natürlich benötigen Sie auch einen externen Server, um die Wartungsseite zu hosten.

Die beste Lösung für sofortiges Failover ist der Kauf eines kleinen gehosteten Servers mit einer statischen Webseite und der anschließenden Verwendung eines Tools (z. B. Herzschlag in Linux), um zu überwachen, wenn der Hauptserver nicht verfügbar ist, und der sekundäre Server die IP-Adresse übernehmen zu lassen.


0
2018-06-10 17:00





Warum sollten Sie nicht nur eine einzelne Workstation / einen einzelnen Server mit IIS einrichten, die eine einzige Seite für die statische Wartung anzeigen? Wenn Sie die Webserver herunterfahren müssen, rufen Sie einfach die Wartungs-Workstation auf und stellen Sie sicher, dass sie auf eingehende Webanfragen reagiert ...

Aufgrund der einfachen statischen Webseite könnten Sie wahrscheinlich mit einer kleinen / mittleren Workstation, vielleicht sogar einem Laptop, davonkommen ... Sie könnten wahrscheinlich sogar mit einer virtuellen Maschine durchkommen, die offline sitzt, bis Sie sie brauchen ...

Es scheint, als wäre alles andere mehr Arbeit als nötig ...


0
2017-07-15 00:36





Wenn Sie eine ASP.NET-Webanwendungssite haben und eine Textdatei mit dem Namen "app_offline.htm"Im Stammverzeichnis der Website werden alle Anfragen an diese Website an die Datei app_offline.htm weitergeleitet.

Wenn Sie eine vollständige ASP.NET-Site offline schalten müssen, können Sie eine nette Nachricht in diese Datei einfügen. Dann werden alle neuen Anfragen an eine URL, jede URL, auf dieser Website zu dieser Datei umgeleitet, so dass Sie Wartungsarbeiten an der Site, Upgrades oder was auch immer machen können. Es ist jedoch nicht wirklich eine Weiterleitung. ASP.NET beendet die Site im Wesentlichen, entlädt sie vom Server und beendet die Verarbeitung von Anfragen an diese Site. Das heißt, bis Sie die Datei app_offline.htm löschen - dann werden die Dinge wie gewohnt fortgesetzt und Ihre ASP.NET-Site wird geladen und beginnt erneut, Anforderungen zu bedienen.

Ich hoffe es hilft. Prost!


0
2018-06-30 16:36