Es ist schwierig, die Tomcat-Dokumentation zu verstehen, und wenn Sie sich server.xml ansehen, werden Sie eine Reihe von Ports finden, die möglicherweise schwer zu verstehen sind, da sie in der Dokumentation nicht richtig oder nicht ausführlich erklärt sind.
Zum Beispiel diese Zeile in der Konfigurationsdatei server.xml
<Connector port="8345" protocol="AJP/1.3" redirectPort="9875" />
Und hier finden Sie noch einen weiteren Redirect-Port:
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Ich verstehe, was der Anschluss macht. Im ersten Fall erstellen Sie damit einen Worker in Apache und senden ihn dorthin. Im zweiten Fall öffnen Sie einen Port, um direkt auf Tomcat zuzugreifen. Wenn es jedoch um den Redirectport geht, werden die Dinge unscharf.
Hier ist die Erklärung der Tomcat-Dokumentation für den Ajp-Port:
Wenn dieser Connector Nicht-SSL-Anforderungen unterstützt und eine Anforderung empfangen wird, für die ein Abgleich einen SSL-Transport erfordert, leitet Catalina die Anforderung automatisch an die hier angegebene Portnummer um.
Ich wähle immer einen zufälligen Redirect-Port über 1024 und es funktioniert,
Aber wann würde dies in die Praxis umgesetzt werden? Woher weiß es, dass für eine Anforderung ein SSL-Transport erforderlich ist?
Ich habe einen Satellitenserver, auf dem ein Tomcat-Modul ausgeführt wird. Dieses Modul wird aktiviert, indem der Datenverkehr mit Apache vom Hauptserver zum AJP-Connector und umgekehrt umgeleitet wird.
Auf dem Hauptserver wird https in Apache erzwungen. Bedeutet dies, dass alle Anfragen verschlüsselt oder im Klartext an den Satellitenserver gesendet werden? Ich weiß, dass der Zugriff auf den Satellitenserver über Port 8080 nicht verschlüsselt ist. Ich frage mich jedoch, ob dies auch für den Verkehr gilt, der zum Hauptserver umgeleitet wird, und wo dieser Umleitungsport wirksam wird.
iptables
auch gut für die Weiterleitung zu Tomcat arbeitet unter anderen Ansätzen .