Explicația redirectPort în Tomcat: constrângeri de securitate HTTPS și conectori
Data publicării:
Actualizat:
INFORMATION > Explicația redirectPort în Tomcat: constrângeri de securitate HTTPS și conectori
Starea 2026 și utilizare în siguranță
Concluzie: redirectPort spune unui conector Tomcat non-TLS unde să redirecționeze o solicitare atunci când constrângerea de securitate a aplicației web implementate necesită un transport confidențial. Nu creează conectorul TLS, nu forțează HTTPS pentru fiecare solicitare și nu înlocuiește politica de redirecționare edge-proxy.
Ce vei învăța
- Cum activează
<transport-guarantee>CONFIDENTIAL</transport-guarantee>redirecționarea gestionată de container. - De ce portul țintă trebuie să corespundă unui conector HTTPS funcțional sau unei topologii proxy proiectate corect.
- Cum diferă direct Tomcat TLS de terminarea TLS la Apache HTTP Server sau un alt proxy.
Cui se adresează: administratorii web Java care examinează setările pentru constrângerile de securitate ale conectorului Tomcat și ale aplicației.
Poziția 2026: Exemplul Tomcat 9 de mai jos rămâne conceptual, dar atributele conectorului și gestionarea proxy-ului trebuie să se potrivească cu familia Tomcat acceptată. Evitați buclele de redirecționare și schemele greșite prin configurarea antetelor proxy de încredere în mod deliberat.
Notă de siguranță: comenzile și exemplele de configurare din articolul original nu au fost reluate într-un mediu de producție actual. Verificați versiunile acceptate, copiile de rezervă, controalele de acces și pașii de retragere într-un mediu de testare separat înainte de a le aplica.
Surse primare oficiale
Prezentare generală.
Când m-am uitat la setarea portului în configurația server.xml a lui Tomcat, a existat o setare numită "redirectPort", dar nu mi-am putut da seama ce este această setare când am căutat pe Google, așa că am căutat-o.
Următoarele setări.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Cuprins
1. Ce este redirectPort?
Se pare că este vorba de o setare care te redirecționează atunci când accesezi o pagină care specifică faptul că SSL este necesar.
În cazul în care valorile de configurare server.xml au fost
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Dacă se accesează URL-ul "http://hoge:8080/hoge.html", se pare că se redirecționează utilizatorul pentru a accesa URL-ul "https://hoge:8443/hoge.html".
Faptul că SSL este obligatoriu trebuie să fie definit în "web.xml".(「<transport-guarantee>CONFIDENTIAL</transport-guarantee>」)Atunci când este configurat, SSL este obligatoriu. Includeți următoarele informații în web.xml.
~abrevierea~
<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>
Deoarece url-patternul este "/", această setare face ca toate URL-urile și redirecționările să necesite SSL. Dacă SSL nu este specificat ca fiind obligatoriu, este o valoare de configurare care nu este utilizată. Deși "redirectPort="8443" este setat în valoarea implicită a Tomcat, setarea pentru a activa portul 8443 în sine pare a fi invalidă cu valoarea implicită a Tomcat, astfel încât pot exista mulți oameni pentru care "redirectPort="8443"" este setat fără să știe, dar Cred că sunt multe persoane pentru care portul 8443 al destinației de redirecționare nu este activat.
1-1. bază
Am dori să descriem baza pentru concluziile de mai sus. Pe pagina Tomcat se menționează următoarele.
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.」
Ideea este "accesarea unei pagini cu constrângeri de securitate care specifică faptul că SSL este necesar, așa cum este cerut de specificația servlet". Aceasta este setarea web.xml pe care tocmai ați configurat-o. Ideea este că cerința SSL este o specificație servlet și pare să fie redirecționată atunci când este aplicată.
2. rezumat
Această secțiune descrie setările redirectPort din server.xml al lui Tomcat. Vă rugăm să consultați acest lucru atunci când configurați redirectPort.
Vă mulțumim că ați urmărit până la sfârșit.