Настройка в Tomcat редиректа с http на https¶
Настройка редиректа с http на https может понадобиться в случае, если сервера Юниверс DG изолированы, и открыт только порт 443 (стандартный для https). При такой конфигурации Tomcat не может принимать http-запросы.
Ниже приведен пример конфигурации, в котором в server.xml открывается порт 80 (стандартный для http) с редиректом на 443, а в настройках web.xml добавляется конфигурация, чтобы любой запрос обрабатывался как CONFIDENTIAL. При такой настройке любой запрос к backend будет переадресован на 443 порт с https.
Добавьте коннекторы в файл server.xml:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000" redirectPort="443"/>
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" scheme="https" secure="true" SSLEnabled="true" >
<SSLHostConfig>
<Certificate certificateKeystoreFile="${path_to_keystore}"
certificateKeystorePassword="${keystore_password}"
type="RSA" />
</SSLHostConfig>
</Connector>
Добавьте в конец файла web.xml секцию:
<security-constraint>
<web-resource-collection>
<web-resource-name>Universe Backend</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
Добавьте в файл docker-compose.yml новые пути в секцию volumes. Эти пути позволяют подложить файлы server.xml и web.xml в Tomcat:
volumes:
- ${BACKEND_INTEGRATION:-./universe-integration}:/usr/local/tomcat/universe-integration
- PATH_TO_MODIFIED_SERVER.xml/server.xml:/usr/local/tomcat/conf/server.xml
- PATH_TO_MODIFIED_WEB.xml/web.xml:/usr/local/tomcat/conf/web.xml