Normalerweise stelle ich Java-Webapps auf Tomcat-Servern bereit und stufe sie über einen Apache-Proxy mithilfe von proxy_ajp ab. Die Sache ist, in meinen letzten Setups (die alle im Grunde die gleichen sind) sehe ich, dass der Statuscode, den ich in allen meinen Anfragen bekomme, dupliziert ist (d. H. "Statuscode: 200 200"). Ich bekomme das in jedem Browser, in Postman und für jeden Statuscode, den ich bekommen könnte, und alles scheint gut zu funktionieren, aber ich bin besorgt, dass mein Setup nicht optimal ist.Duplizierter Statuscode als Antwort
Obwohl ich keine Lösung finden kann, habe ich das Problem eingrenzen zu dem ajp_proxy, als ob ich
ProxyPass/ajp://localhost:8009/
ProxyPassReverse/ajp://localhost:8009/
mit ändern:
ProxyPass/http://localhost:8080/
ProxyPassReverse/http://localhost:8080/
ich nur einen einzigen Statuscode erhalten für meine requets, wie erwartet.
Ich habe nach diesem Problem gesucht und habe nichts gefunden, was auch nur marginal damit zusammenhängt, so dass jede Information sehr geschätzt würde.
Server Informationen:
- Apache Version: Apache/2.4.18 (Ubuntu)
- Tomcat Version: Apache-tomcat-8.5.13
Vielen Dank im Voraus.
Ich beobachte den Statuscode durch verschiedene Tools: Chrome Netzwerkkonsole, Firebug, Postman und sogar [Hurl] (https://www.hurl.it), und in allen von ihnen bekomme ich einen doppelten Statuscode . Nebenbei habe ich einige Apache Rewrite-Regeln (typisch, wenn http zu https und ähnliche gehen) und sie funktionieren gut, nur ein Antwort-Code und Grund Phase, aber sobald Sie die Seite von Tomcat über Proxy_ajp, ich bekomme doppelten Statuscode und, wie du sagtest, ohne Antwortphrase, was völlig in Ordnung ist. – Skelv
Sind Sie sicher, dass der "doppelte Statuscode" nicht wirklich ein (normaler) Statuscode und eine Grundphrase ist, die zufällig denselben Text wie der Statuscode hat? –
DOH! Ich habe gerade eine Anfrage an meine Seite mit meinem eigenen Code durchgeführt, um es zu debuggen und die tatsächliche Antwort zu sehen, und Sie haben absolut Recht, ich bekomme nur den Statuscode sowohl im Statusfeld als auch als Statustext. Danke vielmals. – Skelv