Der Server erhält Tausende von OPTIONS -Anforderungen aufgrund von CORS (übergreifende gemeinsame Nutzung von Ressourcen). Im Moment wird jede Optionsanfrage an einen der Server gesendet, was ein wenig verschwenderisch ist, da HAProxy die CORS Header selbst ohne die Hilfe eines Webservers hinzufügen kann.
%Vor%Damit dies jedoch funktioniert, muss ich mindestens einen Live-Server im cors_headers Backend angeben, und dieser Server wird weiterhin die Anfragen erhalten.
Wie kann ich die Anfrage im Backend ohne Angabe von Servern bearbeiten? Wie kann ich die Weiterleitung der Anfrage an die Server stoppen, während ich die Antwort an den Browser sende und die Verbindung aufrecht erhält?
Der einzige Weg, dies zu tun, ist der HAProxy 1.5.14, indem manuell der 503-Fehler ausgelöst wird (keine Server verfügbar sind, um die Anfrage zu bearbeiten) und die Fehlerseite mit benutzerdefinierten CORS-Headern auf die Datei gesetzt wird.
%Vor% Das file.http
sollte am Ende die gewünschten Header und 2 Leerzeilen enthalten
Diese "Methode" hat ein paar Einschränkungen:
fehlende dynamische Header: Sie können nicht
Ссылка
oder setzen Sie Expires
header.
Hinweis: Wenn Sie die HTTP-Datei im Laufe der Zeit dynamisch aktualisieren, müssen Sie die Änderungen am HAProxy neu starten. Es kann ein graziöser Neustart oder ein harter Neustart sein, in jedem Fall wird die neue Datei geladen, zwischengespeichert und sofort bedient.