Vysvetlenie redirectPort v Tomcatu: obmedzenia zabezpečenia HTTPS a konektory


Dátum vydania:

Aktualizované:


INFORMATION > Vysvetlenie redirectPort v Tomcatu: obmedzenia zabezpečenia HTTPS a konektory

Stav 2026 a bezpečné používanie

Záver: redirectPort informuje konektor Tomcat bez TLS, kam má presmerovať požiadavku, keď bezpečnostné obmedzenie nasadenej webovej aplikácie vyžaduje dôverný prenos. Nevytvára konektor TLS, nevynucuje protokol HTTPS pre každú požiadavku ani nenahrádza politiku presmerovania servera proxy.

Čo sa naučíte

  • Ako <transport-guarantee>CONFIDENTIAL</transport-guarantee> aktivuje presmerovanie spravované kontajnerom.
  • Prečo cieľový port musí zodpovedať funkčnému konektoru HTTPS alebo správne navrhnutej topológii proxy.
  • Ako sa priame Tomcat TLS líši od ukončenia TLS na serveri Apache HTTP Server alebo inom proxy.

Pre koho je to určené: Správcovia webu Java kontrolujú nastavenia konektora Tomcat a bezpečnostných obmedzení aplikácií.

Pozícia v roku 2026: Príklad Tomcat 9 nižšie zostáva koncepčný, ale atribúty konektora a obsluha servera proxy sa musia zhodovať s vašou podporovanou rodinou Tomcat. Vyhnite sa slučkám presmerovania a nesprávnym schémam zámernou konfiguráciou dôveryhodných proxy hlavičiek.

Bezpečnostná poznámka: Príkazy a príklady konfigurácie v pôvodnom článku neboli znovu spustené v aktuálnom produkčnom prostredí. Pred ich použitím overte podporované verzie, zálohy, riadenie prístupu a kroky vrátenia v samostatnom testovacom prostredí.

Oficiálne primárne zdroje

Prehľad.

Keď som sa pozrel na nastavenie portu v konfigurácii server.xml Tomcatu, bolo tam nastavenie s názvom "redirectPort", ale keď som ho vygooglil, nemohol som zistiť, čo je to za nastavenie, tak som ho vyhľadal.

Nasledujúce nastavenia.

server.xml


    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

Obsah

  1. Čo je redirectPort?
  2. zhrnutie

1. Čo je redirectPort?

Ako sa ukázalo, zdá sa, že ide o nastavenie, ktoré vás presmeruje pri prístupe na stránku, na ktorej je uvedené, že sa vyžaduje protokol SSL.

Ak boli hodnoty konfigurácie server.xml

server.xml


    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

Ak sa pristupuje na adresu URL "http://hoge:8080/hoge.html", zobrazí sa presmerovanie používateľa na adresu URL "https://hoge:8443/hoge.html".

Skutočnosť, že protokol SSL je povinný, musí byť definovaná v súbore web.xml.(「<transport-guarantee>CONFIDENTIAL</transport-guarantee>」)Pri nastavení je protokol SSL povinný. Do súboru web.xml uveďte nasledujúce informácie.

web.xml


~skrátenie~
    <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>

Keďže vzor url je "/", toto nastavenie spôsobí, že všetky adresy URL budú vyžadovať SSL a presmerovanie. Ak protokol SSL nie je špecifikovaný ako povinný, ide o konfiguračnú hodnotu, ktorá sa nepoužíva. Hoci je v predvolenej hodnote Tomcatu nastavené "redirectPort="8443", zdá sa, že samotné nastavenie na aktiváciu portu 8443 je pri predvolenej hodnote Tomcatu neplatné, takže môže existovať veľa ľudí, pre ktorých je "redirectPort="8443"" nastavené bez vedomia, ale Myslím, že existuje veľa ľudí, pre ktorých nie je aktivovaný port 8443 cieľa presmerovania.

1-1. základ

Chceli by sme opísať, na základe čoho sme dospeli k uvedeným záverom. Na stránke Tomcat sa uvádza nasledovné.

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.」

Ide o "prístup k stránke s bezpečnostnými obmedzeniami, ktoré určujú, že sa vyžaduje protokol SSL, ako to vyžaduje špecifikácia servletov". Toto je nastavenie web.xml, ktoré ste práve nakonfigurovali. Ide o to, že požiadavka SSL je špecifikáciou servletov a zdá sa, že pri jej uplatnení sa presmeruje.

2. zhrnutie

Táto časť opisuje nastavenia redirectPort v súbore server.xml aplikácie Tomcat. Pozrite sa na to pri nastavovaní portu redirectPort.

Ďakujeme vám za sledovanie až do konca.