Когда вы запускаете контейнер сервлетов Java, который вы хотите обслуживать как статическим, так и динамическим контентом на порте 80, у вас возникает классический вопрос: нужно ли запускать сервер как:
- Надеемся, что вы используете rootchroot jail, если вы можете (пока не работали)
- Как пользователь без полномочий root, а затем используйте IPTables для перенаправления порта 80 на другой порт (> 1024), на котором работает контейнер
- Оба: как пользователь без полномочий root, IPTables и chroot jail.
Проблема с опцией.1 - сложность рутирования и проблемы безопасности запуска root. Проблема с опцией.2 заключается в том, что в каждом дистрибутиве Linux есть свой способ сохранения IPTables.Вариант 3, вероятно, является идеальным, но его очень сложно настроить.
Наконец, в каждом дистрибутиве есть раздражающие различия в сценариях демона.
Что люди считают лучшим решением, не зависящим от дистрибутивов, и есть ли ресурсычтобы показать, как это сделать?
РЕДАКТИРОВАТЬ: Я бы предпочел не запускать Apache перед контейнером сервлета, потому что сайт в основном динамический и важен общий объем памяти (расходы на хостинг).