Pojasnitev Tomcat redirectPort: varnostne omejitve HTTPS in priključki
Datum objave:
Osveženo:
Tehnični članki > Pojasnitev Tomcat redirectPort: varnostne omejitve HTTPS in priključki
Status in varna uporaba 2026
Sklep: redirectPort pove konektorju Tomcat, ki ni TLS, kje preusmeri zahtevo, ko varnostna omejitev uporabljene spletne aplikacije zahteva zaupen prevoz. Ne ustvari priključka TLS, prisili HTTPS za vsako zahtevo ali nadomesti politiko preusmeritve robov.
Kaj se boš naučil?
- Kako
<transport-guarantee>CONFIDENTIAL</transport-guarantee>aktivira preusmeritev, ki jo upravlja zabojnik. - Zakaj morajo ciljna vrata ustrezati delujočemu HTTPS konektorju ali pravilno zasnovani proxy topologiji.
- Kako neposredno se Tomcat TLS razlikuje od TLS odpovedi pri Apache HTTP Serverju ali drugem posredniku.
Za koga je to? Java web administratorji pregled Tomcat konektor in uporaba varnostne-zadrževalne nastavitve.
Kontekst za leto 2026: Primer Tomcat 9 spodaj ostaja konceptualen, vendar se morajo atributi konektorjev in ravnanje z posredniki ujemati z vašo podprto družino Tomcat. Izogibajte se preusmeriti zanke in napačne sheme z nastavljanjem zaupanja vrednih posredniških glav namerno.
Varnostna opomba: Ukazi in konfiguracijski primeri v prvotnem članku niso bili ponovno predvajani v trenutnem proizvodnem okolju. Pred uporabo preveri podprte različice, varnostne kopije, nadzor dostopa in povratne korake v ločenem preskusnem okolju.
Glavni uradni viri
Pregled.
Ko sem si ogledal nastavitev vrat v konfiguraciji Tomcatovega strežnika.xml, je bila nastavitev imenovana "redirectPort", vendar nisem mogel ugotoviti, kaj je ta nastavitev, ko sem jo Googlal, zato sem jo poiskal.
Naslednje nastavitve.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Kazalo vsebine
1. Kaj je redirectPort?
Izkazalo se je, da gre za nastavitev, ki vas preusmeri, ko dostopate do strani, ki določa, da je potreben protokol SSL.
Če so bile vrednosti konfiguracije server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Če dostopate do naslova URL "http://hoge:8080/hoge.html", se zdi, da je uporabnik preusmerjen na dostop do naslova URL "https://hoge:8443/hoge.html".
Zahteva za SSL se določi v datoteki web.xml: vrednost elementa <transport-guarantee> mora biti CONFIDENTIAL. V datoteko dodajte naslednjo konfiguracijo.
~okrajšava~
<security-constraint>
<web-resource-collection>
<web-resource-name>twx-portal</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
</web-app>
Ker je vzorec url "/", so zaradi te nastavitve vsi naslovi URL in preusmeritve zahtevani za SSL. Če SSL ni določen kot obvezen, je to konfiguracijska vrednost, ki se ne uporablja. Čeprav je "redirectPort="8443" nastavljen v privzeti vrednosti programa Tomcat, se zdi, da je sama nastavitev za aktiviranje vrat 8443 neveljavna s privzeto vrednostjo programa Tomcat, zato je morda veliko ljudi, za katere je "redirectPort="8443"" nastavljen brez zavedanja, vendar Mislim, da je veliko ljudi, za katere vrata 8443 cilja preusmeritve niso aktivirana.
1-1. osnova
Opisati želimo podlago za zgornje ugotovitve. Na strani Tomcat je navedeno naslednje.
http://tomcat.apache.org/tomcat-9.0-doc/ssl-howto.html
“If you change the port number here, you should also change the value specified for the redirectPort attribute on the non-SSL connector. This allows Tomcat to automatically redirect users who attempt to access a page with a security constraint specifying that SSL is required, as required by the Servlet Specification.”
Gre za "dostop do strani z varnostnimi omejitvami, ki določajo, da je potreben protokol SSL, kot zahteva specifikacija servletov". To je nastavitev web.xml, ki ste jo pravkar konfigurirali. Gre za to, da je zahteva SSL specifikacija servletov in zdi se, da je preusmerjena, ko se uporablja.
2. povzetek
To poglavje opisuje nastavitve redirectPort v Tomcatovem strežniku.xml. To upoštevajte, ko nastavljate redirectPort.
Upamo, da je bila razlaga koristna.