Запуск нескольких доменов веб-сайтов на Wildfly

Предположим, у меня есть много веб-сайтов с разными доменными именами, domain1.com , domain2.com и т. Д. Я настроил правильную конфигурацию virtualhosts для этих сайтов в wildfly. Также имеются правильные записи DNS. Как направить запросы на мой сервер для этих доменов в wildfly?

  1. Могу ли я просто запустить wildfly на порты 80 и 443? Что-то мне подсказывает, что это плохая идея, поскольку wildfly по умолчанию не работает на этих портах. Для работы wildfly на этих портах требуется привязка к этим портам как привилегированного пользователя, а затем переключение на непривилегированного пользователя. Хлопоты и трудности, связанные с этим, говорят о том, что это неправильно.

  2. Могу ли я безумно бегать за nginx или apache2? Мое приложение динамически запускает веб-сайты и конфигурацию виртуального хоста. Могу ли я просто перенаправить все запросы wildfly и позволить ему разобраться с этим?

  3. ???

2
задан 20 September 2016 в 18:04
1 ответ

Вариант 1 возможен, но, как вы правильно предсказали, он не является предпочтительным. Для работы на порте 80 или 443 вам нужен привилегированный пользователь, и вы напрямую открываете доступ к java-серверу, облегчая возникновение проблем.
Итак, запустите nginx, определите там домены и настройте upstream и proxy_pass для обратного прокси для ваших экземпляров wildfly. Вы получаете балансировку нагрузки бесплатно, вы можете обрабатывать ssl на nginx вместо wildfly, и всю настройку намного проще поддерживать и масштабировать. Вы можете настроить выделенный кластер wildfly для каждого домена и иметь отдельное определение восходящего потока , либо вы можете начать с одного экземпляра с отдельными веб-контекстами, например

upstream jboss {
    server 192.168.33.11:8080;
}
server {
    listen 443;
    server_name example.com;

    location / {
         proxy_pass http://jboss/webapp1;
    }
} 
server {
    listen 443;
    server_name otherdomain.com;
    #pass the request to another .war dewployed on jboss
    location / {
         proxy_pass http://jboss/webapp2;
    }
} 

Дополнительную информацию можно найти на веб-сайте nginx

1
ответ дан 3 December 2019 в 12:38

Теги

Похожие вопросы