Конфигурация Tomcat / Spring SSL - PullRequest
0 голосов
/ 17 мая 2011

Я пытаюсь настроить приложение Spring на использование SSL-сертификата, приобретенного в ЦС. Я следовал инструкциям для конфигурации Tomcat 6.0 и импортировал ключ в мое хранилище ключей Tomcat и раскомментировал коннектор SSL в файле server.xml. Когда я запускаю Tomcat, я вижу, как соединитель запускается на порте 8443 в журналах Tomcat, но когда я захожу на https://example.com:8443 или http: //example.com:8443 или https: //example.com (без пробелы - у меня нет репутации публиковать ссылки), время истекло. Какие другие настройки мне нужно сделать, чтобы включить SSL для моего приложения Spring. Нужно ли менять конфигурацию приложения?

Я также хотел бы иметь только некоторые URL-адреса по SSL (вход в систему, изменение профиля и т. Д.). Как я могу разрешить это в конфигурации Spring? Если мне нужно, чтобы все URL были доступны через SSL, это было бы хорошо, но не желательно. Я не нашел ни одного учебника, относящегося к Spring.

Ответы [ 3 ]

0 голосов
/ 18 мая 2011

После того, как вы настроили Tomcat в соответствии с документом, цитируемым @mschonaker, ему проще всего определить действие в j_security_check и редактировать формы профиля и т. Д., Указать протокол https: например, в Facelet, https: // # {request.serverName}: 8443 # {request.contextPath} / j_security_check.Затем, когда пользователь нажимает кнопку входа в систему, форма POSTs через HTTPS, чтобы они были безопасны.

Это оставляет вас в HTTPS до конца сеанса: вернуться к HTTP, но все еще оставаться в том же сеансепросто укажите ссылку на полностью указанный URL-адрес HTTP, например, в Facelet, http: // # {request.serverName}: 8443 # {request.contextPath} / некоторая ссылка .

Если у вас есть другие страницы, которые вы хотите защитить при чтении, определите соответствующие элементы для ограничения безопасности, ограничения пользовательских данных и КОНФИДЕНЦИАЛЬНОСТИ для транспорта в файле web.xml.

0 голосов
/ 21 сентября 2016

о второй точке

Я также хотел бы иметь только некоторые URL-адреса по SSL (вход в систему, изменение профиля и т. Д.). ???

Вы можете определить это, изменив конфигурацию в web.xml

  <security-constraint>
    <web-resource-collection>
        <web-resource-name>securedapp</web-resource-name>
       <!-- <url-pattern>/*</url-pattern> -->  <!--all pages-->
        <url-pattern>/yourapp/login</url-pattern>
        <url-pattern>/yourapp/edit</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

надеюсь, что поможет вам

0 голосов
/ 17 мая 2011

Что вам нужно сделать, это отредактировать файл server.xml, чтобы включить ssl. Вот руководство Tomcat, пожалуйста, проверьте его:

http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html

Чтобы программно узнать, поступил ли запрос через порт 80 или 443, необходимо проверить значение, возвращаемое request.isSecure().

Чтобы полностью защитить URL-адреса, я бы рекомендовал использовать фильтр.

Я не помню, как все это обрабатывается Spring, но я не думаю, что у вас возникнут проблемы с получением объекта запроса.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...