Wat is de redirectPort instelling in Tomcat's server.xml?


Datum van publicatie:2 januari 2021.



INFOMARTION > Wat is de redirectPort instelling in Tomcat's server.xml?

Overzicht.

Toen ik naar de poort-instelling keek in Tomcat's server.xml configuratie, was er een instelling genaamd 'redirectPort', maar ik kon er niet achter komen wat deze instelling was toen ik erop Googlede, dus zocht ik het op.

De volgende instellingen.

server.xml


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

Inhoudsopgave

  1. Wat is redirectPort?
  2. samenvatting

1. Wat is redirectPort?

Het blijkt een instelling te zijn die je omleidt wanneer je een pagina opent die aangeeft dat SSL vereist is.

Als de server.xml configuratie waarden

server.xml


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

Als de URL "http://hoge:8080/hoge.html" wordt benaderd, lijkt het alsof de gebruiker wordt doorgestuurd naar de URL "https://hoge:8443/hoge.html".

Het feit dat SSL verplicht is moet worden gedefinieerd in "web.xml".(「<transport-guarantee>CONFIDENTIAL</transport-guarantee>」)Wanneer SSL is ingesteld, is het verplicht. Neem de volgende informatie op in web.xml.

web.xml


~verkorting~
    <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>

Aangezien het url-patroon "/" is, maakt deze instelling alle URL's SSL-plichtig en redirects. Als SSL niet als verplicht is gespecificeerd, is het een configuratiewaarde die niet wordt gebruikt. Hoewel "redirectPort="8443" is ingesteld in de standaardwaarde van Tomcat, lijkt de instelling om de poort 8443 zelf te activeren ongeldig te zijn met de standaardwaarde van Tomcat, dus er kunnen veel mensen zijn voor wie "redirectPort="8443" is ingesteld zonder dat ze zich daarvan bewust zijn, maar Ik denk dat er veel mensen zijn voor wie de 8443 poort van de redirect bestemming niet geactiveerd is.

1-1. basis

Wij zouden graag de basis voor de bovenstaande conclusies willen beschrijven. Op de Tomcat pagina staat het volgende.

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

Het punt is "toegang tot een pagina met beveiligingsbeperkingen die aangeven dat SSL vereist is, zoals vereist door de servlet specificatie". Dit is de web.xml instelling die u zojuist hebt geconfigureerd. Het punt is dat de SSL eis een servlet specificatie is, en het lijkt te worden omgeleid wanneer het wordt toegepast.

2. samenvatting

Deze sectie beschrijft de redirectPort instellingen in Tomcat's server.xml. Raadpleeg dit bij het instellen van de redirectPort.

Bedankt voor het kijken tot het einde.