Какой предпочтительный способ настроить Wildfly 10.0.0 Final для прослушивания порта 80 в Ubuntu 14.04.4 LTS?

Я установил Wildfly 10.0.0 Final на Ubuntu 14.04.4 LTS, используя этот скрипт .

] Все выглядит нормально. Но я бы хотел, чтобы wildfly прослушивал порт 80, но изменение standalone.xml для использования порта 80 не работает.

Похоже, только root может прослушивать порты ниже 1024, поэтому вопрос в том, какой способ предпочтительнее настроить Wildfly на серверах Ubuntu на прослушивание порта 80?

Я пробовал использовать nginx и работает, но странно то, что некоторые файлы, такие как css домашней страницы jboss по умолчанию, не могут быть найдены.

2
задан 26 July 2016 в 21:54
3 ответа

Вики JBoss на developer.jboss.org перечисляет довольно полный список опций, которые, вероятно, также действительны для Wildfly; по существу варианты:

  • Держите сервер приложений на непривилегированном порту и используйте что-то, что прослушивает привилегированный порт для пересылки запросов на этот порт:
    • т.е. обратный прокси или балансировщик нагрузки
    • т.е. настройка переадресации портов

Эти два варианта кажутся наиболее распространенными и предпочтительными.

Альтернативы:

  • Запустите сервер приложений как root для привязки к привилегированному порту (не совсем безопасный и плохая идея TM ).
  • Запустите сервер приложений как root для привязки к привилегированный порт, а затем сбросьте привилегии и запустите как непривилегированный обычный пользователь, для которого я не нашел документально подтвержденной поддержки.

И последнее, но не менее важное, мой личный фаворит:

  • Используйте setcap , чтобы позволить самому двоичному файлу java возможность связываться с привилегированными портами без необходимости работать как root :

    sudo setcap 'cap_net_bind_service = + ep' / path / to / jre / bin / java

Единственный недостаток - это то, что делать это непонятно, но у вас нет также внешние зависимости от вашего приложения.

5
ответ дан 3 December 2019 в 09:03

Да, настройка Nginx для работы в качестве обратного прокси перед wildfly это ИМХО предпочтительный путь. На домашней странице Nginx есть руководство по развертыванию о том, как это настроить.

1
ответ дан 3 December 2019 в 09:03

Один из рекомендуемых способов «добраться» до ваших приложений, развернутых на WildFly через порт 80, - использовать Apache HTTP-сервер, который действует как обратный прокси, используя:

a) mod_proxy . Это самый простой способ, если у вас нет опыта работы системным администратором, вы можете использовать HTTP (mod_proxy_http) или AJP (mod_proxy_ajp) на WildFly. Для сценариев балансировки нагрузки вы также используете mod_proxy_balancer.

b) mod_jk немного сложнее в настройке и только AJP, обычно не требуется, поскольку Apache 2.2+ поставляется с mod_proxy_ajp.

c) mod_cluster , более сложный, но с интересными функциями для сценариев балансировки нагрузки, он использует mod_proxy за кулисами.

Вы можете использовать многие другие обратные прокси, такие как nginx или haproxy если хотите.

Другой подход - использовать переадресацию портов iptables:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

Разработчики WildFly рекомендуют использовать что-то подобное, поскольку Undertow действительно быстр.

1
ответ дан 3 December 2019 в 09:03

Теги

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