Ich habe einen einfachen Reverse-Proxy-Server mit Apache 2.4.20, der HTML-Dateien von einem internen Apache-Webserver erhält. Das Seitenabruf- und URL-Neuschreiben funktioniert einwandfrei, aber es tritt ein Problem auf.Mein Apache Reverse Proxy fügt Code zum Hauptteil der abgerufenen HTML-Dateien von head tag
Nachdem eine Webseite über den Proxy übergeben wurde, sind drei Dinge falsch: Der Inhalt des head-Tags erscheint im Hauptteil, das head-Tag fehlt und ein mysteriöses ">" -Zeichen in einem "p" -Tag wird hinzugefügt die Oberseite des Body-Tags.
Dieser zusätzliche Code <p>></p>
schlägt mir etwas falsch mit der Erkennung eines HTML-Tags (es könnte ein Teil von <head>
sein). Auch ohne Inhalt im head-Tag beginnt das body-Tag immer noch mit diesem komischen Code.
Proxied Inhalt - gesehen in Entwickler-Tools, Google Chrome-Browser:
Proxied Inhalt - ursprüngliche Quelle der abgerufenen Datei:
Original-HTML-Datei - direkt geöffnet vom internen Server-Dateisystem:
Proxy Server-Konfigurationsdatei - Abschnitt über Transfer und ProxyHTML
:
weiß, dass ich der ursprüngliche Server ordnungsgemäß funktioniert, so ist dies nicht das Problem verursacht.
Hier ist ein Screenshot der HTML-Datei direkt aus dem ursprünglichen Server in einem Browser (auf der Proxy-Server-Vorrichtung) betrachtet, zusammen mit Source-Code gezeigt in Chrome Developer Tool:
aktualisieren: Wie erwartet, mod_proxy_html ist die Hauptursache für mein Problem (Ausschalten der ursprünglichen Datei). Allerdings ist diese für mich keine Lösung, weil ich das Tool brauche, um relative URL-Referenzen in den proxied Dokumenten zu schreiben. Ich lese die documentation page, aber es beschreibt keine Funktionen, die zweifellos mein Problem verursacht.
Liste der mod_proxy_html Richtlinien der documentation die ich denke, nicht relevant sind, einige getestet: ProxyHTMLBufSize, ProxyHTMLCharsetOut, ProxyHTMLDocType, ProxyHTMLEnable, ProxyHTMLEvents, ProxyHTMLExtended (default off), ProxyHTMLFixups (aus Vorschlag vorgeschlagen), ProxyHTMLInterp, ProxyHTMLLinks, ProxyHTMLMeta (Standard aus), ProxyHTMLStripComments, ProxyHTMLURLMap.
ich jetzt gemacht habe meinen Beitrag klarer und besser so formatiert, dass es hoffentlich nützlicher und einfacher zu denken. Ich habe im Moment keinen Zugang zu den genannten Servern, aber das Problem sollte reproduzierbar sein. – Edward