Исходные данные:
- ОС: Fedora 16
- Tomcat 7.0.27
- JDK 6u32 (6u31)
- Установить tomcat и jdk:
-
Рассмотрим случай, когда Tomcat по умолчанию использует порт 8080. Необходимо, чтобы файерволл разрешил выход с этого порта. Добавим правило в iptables:
# vim /etc/sysconfig/iptables
вписать-A INPUT -m state --state NEW -m udp -p udp --dport <8080> -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport <8080> -j ACCEPT
#service iptables restart
Fedora 16:#systemctl restart iptables.service
-
Проверить, что все запускается:
/path/bin/startup.sh
или
/path/bin/catalina.sh start
http://localhost:8080
-
Необходимо настроить SSL на установленном tomcat:
-
остановить томкат, если запущен:
/path/bin.shutdown.sh
или/path/bin/catalina.sh stop
-
нужно сгенерировать
self-signed sertificate
и приватный ключ сервера:keytool -genkey -alias tomcat -keyalg RSA [ -keysize 1024 -keystore /path/to/keystore/.keystore ]
keytool
будет просить ввести пароли. Надо ввести. Можно указать дополнительные данные(organisation, state, name, etc)
. И согласиться с введенными данными. Результат:/%username%/.keystore
keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 -keystore /path/conf/.keystore
Результат: 1024-битный.keystore
, расположенный в/path/conf/.keystore
-
экспорт
.keystore
в файл сертификатаname.cer
:cd /path/conf/ keytool -export -alias tomcat -file server.cer
Вводим пароль от нашего хранилища (если мы его задавали, а лучше было бы задать) и получаем результат:/path/conf/server.cer
-
Создание key файла-приватного ключа:
openssl genrsa -out server.key
по умолчанию 512 бит размер ключаopenssl genpkey -algorithm RSA -out server.key -pkeyopt rsa_keygen_bits:2048
Результат:/path/conf/server.key
-
Конфигурация в файле
/path/conf/server.xml
:< !-- Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the JSSE configuration, when using APR, the connector should be using the OpenSSL style configuration described in the APR documentation -- > < Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" SSLCertificateFile="/path/conf/server.cer" SSLCertificateKeyFile="/path/conf/server.key" keystoreFile="/path/conf/.keystore" keystorePass="keystore_password" / >
- запустить томкат
- проверка:
https://localhost:8443
-
остановить томкат, если запущен:
- Взять (с сервера или попросить товарища или собрать самому) war файл свежей версии проекта
X
(X.war) и скопировать пока в какую-нибудь директорию, отличную от/path/
, например,/home/%username%/
. - Остановить томкат, если еще не остановлен.
-
cp /home/%username%/X.war /path/webapps/
- Запустить томкат. War файл сам развернется и приложение будет готово.
- И:
https://localhost:8443/X/
Если выдается нужная страничка, то вообще отлично.
А зачем кстати ssl на бекэнде делать а не на фронтэнде?
ОтветитьУдалитьНам хватало :)
ОтветитьУдалить