Введіть ім'я домену:
.ua .com.ua .in.ua .org.ua
.ru .com .net .org
Показати всі домени

Шифрування з'єднань Tomcat 8 на Apache

Відповіді на запитання від компанії "Український хостинг".

Шифрування з'єднань Tomcat 8 на Apache

Apache Tomcat є сервером програм, що використовується для обслуговування програм Java.

Ця інструкція допоможе захистити сервер Tomcat 8 за допомогою SSL .

Перед виконанням інструкції необхідно встановити на сервері веб-сервер Apache і сервер Tomcat 8.

Рекомендується створити не root користувача з доступом до sudo.

В інструкції використовується текстовий редактор nano, для якого потрібно виконати команду:

 yum install nano

Процедура шифрування з'єднань Tomcat 8 на Apache має такий вигляд:

  1. Встановлюємо GCC (для компіляції конектора) та файли розробки веб-сервера Apache:

     sudo yum install gcc httpd-devel
  2. Переходимо до папки tmp:

     cd /tmp

    Завантажуємо архів з вихідним кодом конектора:

     curl -LO http://mirrors.ibiblio.org/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.42-src.tar.gz
  3. Вилучаємо архів у поточний каталог:

     tar xzvf tomcat-connectors*
  4. Переходимо до каталогу native:

     cd tomcat-connectors*/native

    Вказуємо розташування інструменту apxs, що допомагає налаштувати код:

     ./configure —with-apxs=/usr/bin/apxs
  5. Збираємо модуль:

     make
  6. Встановлюємо модуль:

     sudo make install
  7. Для налаштування підтримки модуля mod_jk та взаємодії Apache з Tomcat відкриваємо файл jk.conf:

     sudo nano /etc/httpd/conf.d/jk.conf

    і вставляємо в нього наступний код:

     LoadModule jk_module modules/mod_jk.so JkLogFile logs/mod_jk.log JkLogLevel info JkShmFile logs/mod_jk.shm JkWorkersFile conf/workers.properties

    Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter.

  8. Створюємо файл властивостей робочого процесу

     sudo nano /etc/httpd/conf/workers.properties

    і для створення підключення до Tomcat на порті 8009 вставляємо у файл наступний код:

     worker.list=worker1 worker.worker1.type=ajp13 worker.worker1.host=127.0.0.1 worker.worker1.port=8009

    Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter.

  9. Відкриваємо віртуальний хост:

     sudo nano /etc/httpd/conf.d/ssl.conf

    і щоб передати весь трафік цього віртуального хоста раніше налаштованому робочому процесу, додаємо в розділ директиву:

     JkMount /* worker1

    Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter.

  10. Перевіряємо налаштування:

     sudo apachectl configtest

    Бачимо відповідь Syntax OK, що означає, що помилок у конфігураціях немає.

  11. Перезавантажуємо Apache:

     sudo systemctl restart httpd

    Тепер сервер Tomcat доступний у браузері SSL.

    Щоб переконатися в цьому, відкриваємо адресу (замість 93.190.42.52 необхідно вказати IP адресу власного сервера):

    https://93.190.42.52/
  12. Щоб усі запити Tomcat проходили через проксі-сервер, потрібно налаштувати Tomcat для прослуховування з'єднань лише на локальному кільцевому інтерфейсі.

    Відкриваємо файл server.xml:

     sudo nano /opt/tomcat/conf/server.xml

    і міняємо рядки:

     <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

    на рядки:

     <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" address="127.0.0.1" redirectPort="8443" />

    а так само змінюємо рядок:

     <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    на рядок:

     <Connector port="8009" address="127.0.0.1" protocol="AJP/1.3" redirectPort="8443" />

    Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter.

  13. Перезапускаємо Tomcat:

     sudo systemctl restart tomcat

    Тепер з'єднання сервера Tomcat шифруються через SSL за допомогою проксі-сервера.

Див. також:

Створення самопідписаного SSL-сертифіката для веб-сервера Apache

Шифрування з'єднань Tomcat 8 на Apache

Будь ласка, виберіть мову сайту за промовчанням: