Я установил Wildfly 10.0.0 Final на Ubuntu 14.04.4 LTS, используя это сценарий.
Все работает нормально.
Моя проблема в том, что wildfly прослушивает порт 28080 (установка скрипта по умолчанию), и я могу перейти на 8080, обновив standalone.xml. Но я бы хотел, чтобы wildfly прослушивал порт 80, но изменение standalone.xml для использования порта 80 не работает.
Похоже, только root может прослушивать порты ниже 1024, поэтому вопрос в том, какой способ предпочтительнее настроить Wildfly на серверах Ubuntu для прослушивания порта 80?
Я пробовал использовать nginx и работает, но странно то, что некоторые файлы, такие как css домашней страницы jboss по умолчанию, не могут быть найдены.
Вики по JBoss на developer.jboss.org перечисляет довольно полный список опций, которые, вероятно, также действительны для Wildfly; по существу вариации:
Эти два варианта кажутся наиболее распространенными и предпочтительными.
Альтернативы:
И последнее, но не менее важное, мой личный фаворит:
Использовать setcap
чтобы позволить самому двоичному файлу java способность для привязки к привилегированным портам, без необходимости работать как root
:
sudo setcap 'cap_net_bind_service=+ep' /path/to/jre/bin/java
Единственный недостаток в том, что это немного неясно, но у вас также нет никаких внешних зависимостей от вашего приложения.
Да, настройка Nginx
выступать в качестве обратного прокси перед wildfly - это ИМХО предпочтительный способ. Есть руководство по развертыванию на домашней странице Nginx о том, как это настроить.
Один из рекомендуемых способов «добраться» до ваших приложений, развернутых на WildFly через порт 80, - использовать HTTP-сервер Apache, который действует как обратный прокси-сервер, используя:
а) mod_proxy это самый простой способ, если у вас нет опыта работы с системным администратором, вы можете использовать HTTP (mod_proxy_http) или AJP (mod_proxy_ajp) в WildFly. Для сценариев балансировки нагрузки вы также используете mod_proxy_balancer.
б) mod_jk немного сложнее настроить и только AJP, обычно не требуется, поскольку Apache 2.2+ поставляется с mod_proxy_ajp.
в) mod_cluster, более сложный, но с интересными функциями для сценариев балансировки нагрузки, он использует mod_proxy за кулисами.
Вы можете использовать многие другие обратные прокси, например nginx или haproxy если хотите.
Другой подход - использовать переадресацию портов iptables:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
Разработчики WildFly рекомендуют использовать что-то подобное, поскольку Undertow действительно быстр.