Der Versuch, osTicket (v1.8.1-dpr) hinter einem Reverse-Proxy zu verwenden, wird zuverlässig erhalten
Invalid CSRF Token __CSRFToken__
Invalid CSRF token [b4cab350cfce13ee10a8cd27445e7f4466db039e] on
(redacted)
die ursache scheint das osticket-javascript zu sein, das den token basierend auf der browser-IP generiert, die sich natürlich von der reverse-proxy-IP unterscheidet, wenn der token serverseitig verifiziert wird.
Reverse-Proxy ist eine Apache-Instanz auf ec2
Ihr Reverse-Proxy sollte X-Forwarded-For
senden. Macht es?
Ja, der Reverse-Proxy setzt X-Forwarded-For auf die richtige Adresse. Der Client befindet sich hinter einem NAT, und daher könnte das Javascript möglicherweise eine RFC1918-Adresse erhalten, wenn es gebundene Schnittstellenadressen erhält (unklar, ob dies geschieht).
Können Sie die Cookie-Einstellungen zwischen dem Proxy-Server (wo osTicket läuft und dem Client) überprüfen? Überprüfen Sie die Cookie-Domain und den Cookie-Pfad des zurückgegebenen Cookies und stellen Sie sicher, dass keiner der Server dazwischen mit den Cookie- oder Cookie-Einstellungen herumspielt.
Ich werde es überprüfen, aber das könnte sehr gut sein, wo das Problem liegt (interne Hostdomäne und Domäne als Proxy sind sehr unterschiedlich). Ich werde in ein paar Stunden aktualisieren.
Ich weiß, dass dieser Beitrag über ein Jahr alt ist, aber mehrmals aufgetaucht ist, als ich versuchte, meinen Reverse-Proxy mit osTicket einzurichten. Ich verwende NginX als meinen Reverse-Proxy (ich weiß, wird nicht unterstützt usw.)
In meinem Standortblock musste ich einige Header-Einstellungen hinzufügen:
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass_header Set-Cookie;
proxy_pass <Backend osTicket location>;
}
Der pass_header schien es zu funktionieren, aber die anderen Einstellungen stellen sicher, dass Ihr Server die richtige IP-Adresse erhält. Ich glaube, Sie könnten diese Einstellungen auch im Server- oder HTTP-Block festlegen, aber dies erfüllte meine Bedürfnisse.
@webbe wir unterstützen nginx nicht offiziell als Server für osTicket. Sie können für den Reverse-Proxy verwenden, was Sie wollen. Persönlich bevorzuge ich HAProxy. Vielen Dank, dass Sie Ihre Konfigurationsinformationen gepostet haben. Wir freuen uns, dass Ihr Setup funktioniert.
Hilfreichster Kommentar
Ich weiß, dass dieser Beitrag über ein Jahr alt ist, aber mehrmals aufgetaucht ist, als ich versuchte, meinen Reverse-Proxy mit osTicket einzurichten. Ich verwende NginX als meinen Reverse-Proxy (ich weiß, wird nicht unterstützt usw.)
In meinem Standortblock musste ich einige Header-Einstellungen hinzufügen:
Der pass_header schien es zu funktionieren, aber die anderen Einstellungen stellen sicher, dass Ihr Server die richtige IP-Adresse erhält. Ich glaube, Sie könnten diese Einstellungen auch im Server- oder HTTP-Block festlegen, aber dies erfüllte meine Bedürfnisse.