Запуск двух копий веб-сервера Apache на одном сервере для двух разных приложений - PullRequest
0 голосов
/ 13 марта 2019

Я создал еще один экземпляр Tomcat (порт: 81) для запуска другого приложения на сервере. Tomcat работает успешно, но я хочу запустить веб-сервер Apache поверх него. Итак, я скопировал существующий apache в другую папку и настроил для другого экземпляра tomcat. Я сталкиваюсь с ошибкой ниже. Ваша помощь будет принята с благодарностью. введите описание изображения здесь

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

Во-первых, что-то еще уже использует этот порт 443, поэтому попробуйте 8443.

Кроме того, технически вы можете установить Tomcat дважды, используя разные имена сервисов, но почему.Прелесть Tomcat заключается в использовании одной установки для нескольких приложений.

Tomcat предназначен для поддержки нескольких приложений.С помощью файла .war вы просто загружаете свой файл .war в папку веб-приложений.Tomcat автоматически извлечет файл war.

Чтобы запустить приложение как приложение ROOT, удалите папку ROOT в Tomcat.Переименуйте файл .war для приложения, которое вы хотите установить, в ROOT.war, он будет извлечен в папку ROOT, и вы получите доступ к нему из http://servername:8080,, если вы сохранили настройки по умолчанию для соединителя tomcat.

Теперь, чтобы добавить второе приложение, скопируйте файл .war в папку веб-приложений Tomcat с другим именем, отличным от ROOT.war, например example.war.Он автоматически распакует файл .war в папку с примерами.Чтобы получить доступ к этому приложению, перейдите на http://servername:8080/example.. У вас не будет двух коннекторов Tomcat для порта 8080, а только 1, и вы получите доступ к не-ROOT веб-приложениям через контекстный путь.

Вариант 1:

Если вы хотите использовать TLS в Tomcat, вам нужно раскомментировать разъем 8443 в Server.xml.Вам также необходимо создать хранилище ключей и поместить в него информацию о хранилище ключей в Server.xml, чтобы разрешить TLS.

Вариант 2 (Не работает с вариантом 1, если вы не выберете другой порт):

Если вам нужен веб-сервер с TLS, тогда настройте Apache Web Server на прослушивание 8443, что также потребует создания хранилища ключей и файла виртуального хоста в Apache Tomcat, но оставьте порт Tomcat на 8080, как обычно,Затем используйте настройки виртуального хоста на веб-сервере Apache для прокси для приложений Tomcat (переход с 8443 на порты 8080 на одном хосте с Tomcat только на 127.0.0.1 или на другие хосты с надлежащим разделением сети, чтобы люди не могли обойтиВеб сервер).Apache2 будет прослушивать полное доменное имя веб-сервера.

Пример:

  1. Пропустить веб-сервер Apache и использовать различные параметры пути к контексту (при необходимости) для каждого приложения tomcat на одном8443 порт.(Убедитесь, что Apache2 больше не использует 8443).

Приложение ROOT:

Пользователь -> https://servername:8443

Приложение 2:

Пользователь-> https://servername:8443/app2

Используя веб-сервер Apache, вы будете использовать прокси-сервер от порта 8443 до 8080. Веб-сервер Apache прослушивает 8443, Tomcat прослушивает 8080. Шифрование TLS будет на веб-сервере.Соединение между Apache2 и Tomcat будет незашифрованным на том же сервере.

Это довольно подробный пример обратного прокси: https://www.digitalocean.com/community/tutorials/how-to-use-apache-http-server-as-reverse-proxy-using-mod_proxy-extension

Пользователь -> https://servername:8443–> http://localhost:8080

0 голосов
/ 13 марта 2019

Может показаться, что оба экземпляра настроены на прослушивание соединений https через порт по умолчанию (443), т. Е. Хотя вы, возможно, настроили их на прослушивание разных портов http (т. Е. 80 и 81), вы этого не сделали то же самое для https.

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