Qual è l'impostazione di redirectPort nel server.xml di Tomcat?
Data di pubblicazione:
Aggiornato:
Articoli > Qual è l'impostazione di redirectPort nel server.xml di Tomcat?
2026 stato e uso sicuro
Conclusione: redirectPort dice a un connettore Tomcat non-TLS dove reindirizzare una richiesta quando il vincolo di sicurezza dell'applicazione web distribuito richiede un trasporto riservato. Non crea il connettore TLS, forza HTTPS per ogni richiesta, o sostituisce la politica di reindirizzamento edge-proxy.
Cosa imparerai
- Come?
<transport-guarantee>CONFIDENTIAL</transport-guarantee>attiva la reindirizzamento dei container. - Perché la porta di destinazione deve corrispondere a un connettore HTTPS funzionante o topologia proxy correttamente progettata.
- Come Tomcat TLS diretto differisce da terminazione TLS a Server HTTP Apache o un altro proxy.
Destinatari: Gli amministratori web Java che controllano le impostazioni del connettore Tomcat e del protocollo di sicurezza dell'applicazione.
Nota di aggiornamento (2026): L'esempio di Tomcat 9 rimane concettuale, ma gli attributi dei connettori e la gestione dei proxy devono corrispondere alla famiglia Tomcat supportata. Evitare di reindirizzare loop e schemi errati configurando intestazioni proxy affidabili deliberatamente.
Nota di sicurezza: i comandi e gli esempi di configurazione dell'articolo originale non sono stati rieseguiti in un ambiente di produzione moderno. Prima di applicarli, verifica versioni supportate, backup, controlli di accesso e procedura di rollback in un ambiente di prova isolato.
Fonti primarie ufficiali
Panoramica
Quando ho controllato l'impostazione della porta nella configurazione server.xml di Tomcat, c'era un'impostazione chiamata 'redirectPort', ma non sono riuscito a capire cosa fosse questa impostazione quando l'ho cercata su Google, quindi l'ho cercata.
Le seguenti impostazioni.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Indice dei contenuti
1. Che cos'è la porta di reindirizzamento?
A quanto pare, si tratta di un'impostazione che reindirizza l'utente quando accede a una pagina in cui è specificato che è richiesto l'SSL.
Se i valori di configurazione di server.xml sono stati
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Se si accede all'URL "http://hoge:8080/hoge.html", sembra che l'utente venga reindirizzato all'URL "https://hoge:8443/hoge.html".
Il fatto che l'SSL sia obbligatorio deve essere definito in "web.xml". (“<transport-guarantee>CONFIDENTIAL</transport-guarantee>”)Quando viene impostato, l'SSL è obbligatorio. Includere le seguenti informazioni in web.xml.
~abbreviazione~
<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>
Poiché l'url-pattern è "/", questa impostazione rende tutti gli URL con requisiti SSL e i reindirizzamenti. Se SSL non è specificato come obbligatorio, è un valore di configurazione che non viene utilizzato. Sebbene "redirectPort="8443" sia impostato nel valore predefinito di Tomcat, l'impostazione per attivare la porta 8443 sembra non essere valida con il valore predefinito di Tomcat, quindi potrebbero esserci molte persone per le quali "redirectPort="8443"" è impostato senza saperlo ma Penso che ci siano molte persone per le quali la porta 8443 della destinazione di reindirizzamento non è attivata.
1-1. base
Descriviamo le basi di queste conclusioni. La pagina di Tomcat riporta quanto segue.
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.”
Il punto è "accedere a una pagina con vincoli di sicurezza che specificano che è necessario SSL, come richiesto dalle specifiche servlet". Questa è l'impostazione web.xml appena configurata. Il punto è che il requisito SSL è una specifica del servlet e sembra essere reindirizzato quando viene applicato.
2. sintesi
Questa sezione descrive le impostazioni di redirectPort nel file server.xml di Tomcat. Fare riferimento a questo quando si imposta la porta di reindirizzamento.