Mikä on redirectPort-asetus Tomcatin server.xml-tiedostossa?


Julkaisupäivä:2. tammikuuta 2021.



INFOMARTION > Mikä on redirectPort-asetus Tomcatin server.xml-tiedostossa?

Yleiskatsaus.

Kun katsoin porttiasetusta Tomcatin server.xml-konfiguraatiossa, siellä oli asetus nimeltä 'redirectPort', mutta en saanut selville, mikä tämä asetus oli, kun googlasin sitä, joten katsoin sitä.

Seuraavat asetukset.

server.xml


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

Sisällysluettelo

  1. Mikä on redirectPort?
  2. yhteenveto

1. Mikä on redirectPort?

Kävi ilmi, että kyseessä näyttää olevan asetus, joka ohjaa sinut uudelleen, kun siirryt sivulle, jonka mukaan SSL vaaditaan.

Jos server.xml-konfiguraatioarvot olivat

server.xml


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

Jos URL-osoitetta "http://hoge:8080/hoge.html" käytetään, se näyttää ohjaavan käyttäjän URL-osoitteeseen "https://hoge:8443/hoge.html".

Se, että SSL on pakollinen, on määriteltävä web.xml-tiedostossa.(「<transport-guarantee>CONFIDENTIAL</transport-guarantee>」)Kun SSL on käytössä, se on pakollinen. Sisällytä seuraavat tiedot tiedostoon web.xml.

web.xml


~lyhennelmä~
    <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>

Koska url-kuvio on "/", tämä asetus tekee kaikista URL-osoitteista SSL-pohjaisia ja uudelleenohjauksia. Jos SSL:ää ei ole määritetty pakolliseksi, se on määritysarvo, jota ei käytetä. Vaikka "redirectPort="8443" on asetettu Tomcatin oletusarvoon, asetus 8443-portin aktivoimiseksi näyttää olevan virheellinen Tomcatin oletusarvon kanssa, joten voi olla monia ihmisiä, joille "redirectPort="8443"" on asetettu tietämättään, mutta Luulen, että on monia ihmisiä, joille uudelleenohjauskohteen portti 8443 ei ole aktivoitu.

1-1. perusta

Haluamme kuvailla edellä esitettyjen päätelmien perusteita. Tomcatin sivulla todetaan seuraavaa.

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

Kyseessä on "pääsy sivulle, jolla on tietoturvarajoituksia, jotka edellyttävät SSL:n käyttöä, kuten servlet-määrittelyssä edellytetään". Tämä on web.xml-asetus, jonka olet juuri määrittänyt. Kyse on siitä, että SSL-vaatimus on servlet-määrittely, ja se näyttää ohjautuvan uudelleen, kun sitä sovelletaan.

2. yhteenveto

Tässä osassa kuvataan Tomcatin server.xml-tiedoston redirectPort-asetukset. Ota tämä huomioon, kun määrität redirectPortia.

Kiitos, että katsoitte loppuun asti.