Перенаправить http-запросы на https с помощью сервера tomcat и балансировщика нагрузки aws

Я установил экземпляр ec2 с веб-приложением java, работающим на сервере tomcat, и балансировщиком нагрузки приложения aws, который направляет порт 80 и 443 на порт 8080 на экземпляре ec2.

Я изменил конфигурацию server.xml на tomcat на следующую

<Connector port="8080" protocol="HTTP/1.1"
proxyPort="443"
proxyName="sub.mydomain.com"
scheme="https"
secure="true"
connectionTimeout="20000"
redirectPort="8443" />

Теперь я могу подключиться к «sub.mydomain.com» и «https: //sub.mydomain.com». Но как мне перенаправить все запросы http: //sub.mydomain.com на https: //sub.mydomain.com?


person Siddharth Das    schedule 22.05.2017    source источник
comment
Это поможет вам stackoverflow.com. / questions / 24603620 /   -  person Shubham Bansal    schedule 22.05.2017
comment
Вы не хотите redirectPort="8443". Вместо этого вы хотите redirectPort="443". Если порт 8080 является безопасным портом на вашем узле Tomcat, вам вообще не нужен redirectPort (поскольку Tomcat никогда его не будет использовать).   -  person Christopher Schultz    schedule 24.05.2017
comment
@jzaa Пример на указанной странице правильный, но это пример PHP. В мире Java вы захотите использовать что-то вроде клапана перезаписи Tomcat или фильтр urlrewrite Такки.   -  person Christopher Schultz    schedule 24.05.2017
comment
ChristopherSchultz, @jzaa, спасибо за ваш вклад. Вот как мне удалось заставить его работать. Я перенаправил все 443 запроса с elb на порт 8080 на экземпляре ec2 и все 80 запросов на elb на порт 80. Внутри экземпляра я настроил сервер nginx, который перенаправляет все запросы с $ http_x_forwarded_proto = '80' на https   -  person Siddharth Das    schedule 25.05.2017


Ответы (1)


Просто добавьте это в свой web.xml

<security-constraint>
    <web-resource-collection>
        <web-resource-name>HTTPSOnly</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>
person Bikash    schedule 16.05.2019