Tomcat redirectPort skaidrots: HTTPS drošības ierobežojumi un savienotāji
Publikācijas datums:
Atjaunināts:
Tehniskie raksti > Tomcat redirectPort skaidrots: HTTPS drošības ierobežojumi un savienotāji
2026. gada statuss un droša lietošana
Secinājums: redirectPort norāda Tomcat savienotājam, kas nav TLS, kur novirzīt pieprasījumu, ja izvietotās tīmekļa lietojumprogrammas drošības ierobežojums prasa konfidenciālu transportēšanu. Tas neizveido TLS savienotāju, nepiespiež HTTPS katram pieprasījumam un neaizstāj malas starpniekservera novirzīšanas politiku.
Ko jūs uzzināsiet
- Kā
<transport-guarantee>CONFIDENTIAL</transport-guarantee>aktivizē konteineru pārvaldītu novirzīšanu. - Kāpēc mērķa portam ir jāatbilst strādājošam HTTPS savienotājam vai pareizi izveidotam starpniekservera topoloģijai.
- Kā tiešā Tomcat TLS atšķiras no TLS pārtraukšanas Apache HTTP serverī vai citā starpniekserverī.
Kam tas ir paredzēts: Java tīmekļa administratori pārskata Tomcat savienotāja un lietojumprogrammas drošības ierobežojumu iestatījumus.
2026. gada konteksts: tālāk sniegtais Tomcat 9 piemērs joprojām ir konceptuāls, taču savienotāja atribūtiem un starpniekservera apstrādei ir jāatbilst jūsu atbalstītajai Tomcat saimei. Izvairieties no novirzīšanas cilpām un nepareizām shēmām, apzināti konfigurējot uzticamas starpniekservera galvenes.
Drošības piezīme. Sākotnējā rakstā esošās komandas un konfigurācijas piemēri nav atkārtoti izpildīti pašreizējā ražošanas vidē. Pirms to lietošanas pārbaudiet atbalstītās versijas, dublējumus, piekļuves vadīklas un atcelšanas darbības atsevišķā testa vidē.
Galvenie oficiālie avoti
Pārskats.
Kad es apskatīju ostas iestatījumu Tomcat server.xml konfigurācijā, tur bija iestatījums ar nosaukumu "redirectPort", bet es nevarēju noskaidrot, kāds bija šis iestatījums, kad es googloju, tāpēc es to apskatīju.
Šādi iestatījumi.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Satura rādītājs
1. Kas ir redirectPort?
Kā izrādās, šķiet, ka tas ir iestatījums, kas pāradresē jūs, kad piekļūstat lapai, kurā norādīts, ka ir nepieciešams SSL.
Ja server.xml konfigurācijas vērtības bija
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Ja tiek piekļūts URL adresei "http://hoge:8080/hoge.html", lietotājs tiek novirzīts uz URL adresi "https://hoge:8443/hoge.html".
SSL prasība tiek definēta failā web.xml: elementa <transport-guarantee> vērtībai jābūt CONFIDENTIAL. Pievienojiet failam tālāk norādīto konfigurāciju.
~saīsinājums~
<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>
Tā kā url paraugs ir "/", ar šo iestatījumu visiem URL tiek pieprasīti SSL un pāradresēti. Ja SSL nav norādīts kā obligāts, tā ir konfigurācijas vērtība, kas netiek izmantota. Lai gan "redirectPort="8443" ir iestatīts Tomcat noklusējuma vērtībā, šķiet, ka pats iestatījums, lai aktivizētu 8443 ostu, ir nederīgs ar Tomcat noklusējuma vērtību, tāpēc var būt daudzi cilvēki, kuriem "redirectPort="8443"" ir iestatīts bez izpratnes, bet Es domāju, ka ir daudz cilvēku, kuriem nav aktivizēts 8443 pāradresēšanas galamērķa ports.
1-1. bāze
Mēs vēlamies aprakstīt iepriekš minēto secinājumu pamatojumu. Tomcat lapā ir norādīts sekojošais.
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.”
Runa ir par "piekļuvi lapai ar drošības ierobežojumiem, kas nosaka, ka ir nepieciešams SSL, kā to pieprasa servlet specifikācija". Šis ir web.xml iestatījums, ko tikko konfigurējāt. Runa ir par to, ka SSL prasība ir servlet specifikācija, un šķiet, ka tā tiek novirzīta, kad tā tiek piemērota.
2. kopsavilkums
Šajā sadaļā ir aprakstīti redirectPort iestatījumi Tomcat server.xml. Lūdzu, ņemiet to vērā, iestatot redirectPort.
Paldies, ka noskatījāties līdz beigām.