Мне удалось заставить мою Ubuntu поддерживать HTTPS. Если на Chrome я хочу видеть страницу, расположенную в/var/www, это отображено хорошее (зеленая блокировка на стороне).
Но у меня есть проблемы на коте. Если я хочу видеть страницу на коте в Chrome, я получаю предупреждение системы безопасности (и красная блокировка). Кроме того, В Android я могу выйти, запросы через ДОБИРАЮТСЯ, но для запросов POST я добираюсь javax.net.ssl.SSLHandshakeException: Handshake failed
. Я не знал, как получить keystore, таким образом, я создал один и заставил server.xml поддерживать его через <Connector...
. Действительно ли это - проблема?
Как я могу заставить кота поддерживать POST и не только ДОБРАТЬСЯ?
Хорошо, если необходимо выполнить кота для использования HTTPS ваш, Вам нужен keystore, который будет создан и если необходимо выполнить то же в 443 портах, необходимо настроить человечность для разрешения кота с помощью привилегированных портов. Номера портов меньше, что 1024 привилегированные порты. Таким образом, необходимо сделать, выполняет шаги. Я очень не уверен в том, сколько Вы сделали или достигли. Между тем я детализирую следующие шаги.
Tomcat7 на Привилегированных Портах (:80 443)
1) В server.xml, измените строку
<Server port="8005" shutdown="SHUTDOWN">
<Connector port="80" maxHttpHeaderSize="8192" protocol="HTTP/1.1"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
socketBuffer="18000"
compression="on" URIEncoding="UTF-8"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="application/javascript,text/html,text/xml,text/javascript,text/css,text/plain,application/json,text/json,a pplication/xml"/>
<Connector port="443" maxHttpHeaderSize="8192" protocol="HTTP/1.1" SSLEnabled="true"
scheme="https" secure="true"
keystoreFile="/path/to/my.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS"
maxThreads="350" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" acceptCount="100"
connectionTimeout="60000" disableUploadTimeout="true"
bufferSize="4096"
compression="on"
compressionMinSize="2048" URIEncoding="UTF-8"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="application/javascript, text/html, text/xml,text/javascript, text/css,text/plain, application/json,text/json,application/xml"/>
2) authbind
sudo apt-get install authbind
3 Установки), порт Make 80 доступных authbind (необходимо быть корнем):
sudo su
touch /etc/authbind/byport/80
chmod 500 /etc/authbind/byport/80
chown tomcat7 /etc/authbind/byport/80
touch /etc/authbind/byport/443
chmod 500 /etc/authbind/byport/443
chown tomcat7 /etc/authbind/byport/443
4) Делают IPv4 значением по умолчанию (authbind, в настоящее время не поддерживает IPv6). Для этого создайте $TOMCAT_HOME/bin/setenv.sh файла со следующим содержанием:
CATALINA_OPTS="-Djava.net.preferIPv4Stack=true"
AUTHBIND=yes
5) Изменение/usr/share/tomcat7/bin/startup.sh длятся строку к чему-то следующим образом.
exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"
# OLD: exec "$PRGDIR"/"$EXECUTABLE" start "$@"
<час> Tomcat шаги поколения Keystore:
-genkey - Tomcat псевдонима - размере ключа 2048-keyalg RSA - законность, 3 650-keystore/path/to/my.keystore
Предоставляют необходимую информацию и установили пароль. Пароль по умолчанию является “changeit”.
chmod 777/path/to/my.keystore
Thats это.
Примечание: Я отправил теги коннектора кота server.xml для продуктивной среды. если Вы работаете, это в среде подготовки производства с низкой конфигурацией сервера лучше избегает или уменьшает опции в тегах как max-min-Threads, поиски, timesouts и т.д. в Вашей простоте.