как автоматически перенаправление с порта 8080 на 8443

Я использую Ubuntu 14.04 и apache-tomcat версии 6.Я изменил все необходимые вещи, чтобы перенаправить порт с 8080 на 8443, и он работает нормально, но дело в том, что оба URL-адреса работают. Я хотел бы автоматически перенаправить на 8443 ( https: // localhost: 8443 ), когда мы открываем 8080 ( http: // localhost: 8080 ) и есть ли бесплатный SSL CA ( центр сертификации), доступный для шифрования данных между сервером и пользователем.

0
задан 5 May 2020 в 07:56
1 ответ

Tomcat 6.0 устарел, поэтому я предполагаю, что у вас есть как минимум Tomcat 7 (который доступен в Ubuntu 14.04). Существует три основных способа принудительного перенаправления на HTTPS:

  • Добавьте в файлы web.xmlвсего вашего приложения. . Если их нет, добавьте:
<security-constraint>
    <web-resource-collection>
        <web-resource-name>All</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

в противном случае добавьте часть к существующей части .

Вы также можете добавить предыдущий фрагмент в conf/web.xml, но это может иметь побочные эффекты: ограничения безопасности выбираются по наиболее конкретному шаблону URL. Если они имеют один и тот же шаблон URL, они объединяются: применяется ограничительное ограничение less. Например. если вы используете шаблон /html/*в conf/web.xml, он будет объединен с ограничением Tomcat Manager, и вы сможете логировать в Tomcat Manager безшифрования и безпароля.

  • Вы можете использовать RewriteValve: см. этот вопросдля Tomcat 7 или этот вопросдля более поздних версий.
  • Лично я бы рекомендовал использовать обратный прокси, такой как Nginxи выполнять перенаправление на него, а не на Tomcat. На этом сайте много вопросов и ответово том, как это сделать.
0
ответ дан 16 May 2020 в 08:36

Теги

Похожие вопросы