Каква е настройката redirectPort в server.xml на Tomcat?


Дата на публикуване:2 януари 2021 г.



INFOMARTION > Каква е настройката redirectPort в server.xml на Tomcat?

Преглед.

Когато погледнах настройката на порта в конфигурацията server.xml на Tomcat, имаше настройка, наречена "redirectPort", но не можах да разбера каква е тази настройка, когато я потърсих в Google, затова я потърсих.

Следните настройки.

server.xml


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

Съдържание

  1. Какво е redirectPort?
  2. резюме

1. Какво е redirectPort?

Оказва се, че това е настройка, която ви пренасочва при достъп до страница, в която е посочено, че се изисква SSL.

Ако стойностите на конфигурацията server.xml са

server.xml


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

Ако се осъществи достъп до URL адреса "http://hoge:8080/hoge.html", се появява пренасочване на потребителя към достъп до URL адреса "https://hoge:8443/hoge.html".

Фактът, че SSL е задължителен, трябва да бъде дефиниран в "web.xml".(「<transport-guarantee>CONFIDENTIAL</transport-guarantee>」)Когато се настройва, SSL е задължителен. Включете следната информация в web.xml.

web.xml


~съкращение~
    <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>

Тъй като образецът на URL е "/", тази настройка прави всички URL адреси и пренасочвания задължителни за SSL. Ако SSL не е посочен като задължителен, това е конфигурационна стойност, която не се използва. Въпреки че "redirectPort="8443" е зададена в стойността по подразбиране на Tomcat, самата настройка за активиране на порт 8443 изглежда невалидна със стойността по подразбиране на Tomcat, така че може да има много хора, за които "redirectPort="8443"" е зададена без да знаят, но Мисля, че има много хора, за които портът 8443 на дестинацията за пренасочване не е активиран.

1-1. основа

Бихме искали да опишем основанията за горните заключения. На страницата на Tomcat е посочено следното.

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

Става дума за "достъп до страница с ограничения за сигурност, определящи, че се изисква SSL, както се изисква от спецификацията на сървлета". Това е настройката на web.xml, която току-що сте конфигурирали. Въпросът е, че изискването за SSL е спецификация на сървлета и изглежда, че се пренасочва, когато се прилага.

2. резюме

Този раздел описва настройките на redirectPort в server.xml на Tomcat. Моля, обърнете внимание на това, когато настройвате redirectPort.

Благодарим ви, че гледахте до края.