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