Care este setarea redirectPort din server.xml al lui Tomcat?


Data publicării:2 ianuarie 2021.



INFOMARTION > Care este setarea redirectPort din server.xml al lui Tomcat?

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.

server.xml


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

Cuprins

  1. Ce este redirectPort?
  2. rezumat

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

server.xml


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

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.