Каков параметр redirectPort в файле server.xml Tomcat?


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



INFOMARTION > Каков параметр redirectPort в файле server.xml Tomcat?

Обзор.

Когда я посмотрел на настройки порта в конфигурации сервера Tomcat server.xml, там был параметр под названием 'redirectPort', но я не смог понять, что это за параметр, когда погуглил, поэтому я поискал его.

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

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.

Спасибо, что досмотрели до конца.