пятница, 19 июня 2009 г.

Как настраивать HTTPS в JBoss с нуля:

1. надо выполнить команду "keytool -genkey -alias tc-ssl -keyalg RSA -keystore server.keystore -validity 3650", в результате будет создан ключ server.keystore. В качестве пароля указать "changeit".
2. Переименовать "server.keystore" в ".keystore" и поместить в home folder юзера, от которого запускается JBoss
3. Раскомментировать в файле jboss-4.2.3.GA\server\default\deploy\jboss-web.deployer\server.xml секцию "Define a SSL HTTP/1.1 Connector"
4. Перезапустить JBoss

По сути, мы настраиваем SSL в конфиге веб контейнера, в JBoss-е это tomcat.
Почему пароль 'changeit'? Потому, что томкат использует его по умолчанию, если меняем пароль - прийдется его тоже прописывать в конфиге.
Почему файл ".keystore" кладем в хоум фолдер? Если мы хотим кастомное имя и месторасположение - прийдется прописывать их в конфиге.

Еще заметка в эту тему:
Стандартный порт для HTTPS – 443, стандартный порт для HTTP – 80. Разница между ними: 443 – 80 = 363.
Другими словами, чтобы получить HTTPS порт, надо к HTTP порту прибавить 363. Например, для нашего тестового: 6666 + 363 = 7029

Полезные ссылки:
http://tomcat.apache.org/tomcat-4.0-doc/ssl-howto.html
http://www.jboss.org/community/wiki/SSLSetup

2 комментария:

yaroslav matveychuk комментирует...

Другими словами, чтобы получить HTTPS порт, надо к HTTP порту прибавить 363.
это почему еще? :)

Alexander Lipatov комментирует...

Ну это разработчики JBoss-а придумали такую фишку. Чтобы было легко узнать HTTPS порт, они в мэпинге к HTTP порту прибавляют число 363. Естественно, это все можно вручную переопределить, но я считаю, что и так отлично! А число 363 получилось так: 443 - 80 (это стандартные порты HTTPS и HTTP).