Назад | Перейти на главную страницу

tomcat (tcServer) на порту 80 в Linux… хорошая идея?

Является ли хорошей идеей запускать tomcat (tcServer из источника Spring) непосредственно на порту 80 (или 443) как root

Можно использовать mod_proxy или mod_jk из apache2, чтобы обойти это. Я также видел решение на основе iptables (т.е. iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080)

Есть ли какие-либо плюсы / минусы, которые следует знать, когда дело доходит до производственного использования?

вы определенно не хотите запускать свое веб-приложение от имени пользователя root! никогда !!

сделайте его максимально безопасным, - его взломают, это просто вопрос времени (и популярности :))

запустите tomcat как другой пользователь ('tomcat' или такой), который может только читать / записывать (если требуется) в свой собственный каталог.

Что касается перенаправления портов, я бы рекомендовал использовать iptables, как вы показали.

в качестве альтернативы вы можете сделать перенаправление apache как описано здесь.

если у вас большой сайт и вы используете аппаратные балансировщики нагрузки, вы можете сопоставить порт 80 на VIP-сервере с портом 8080 на своих веб-серверах, и в этом случае вам не нужно ничего делать на стороне сервера, и, конечно же, это лучший вариант подходить.

Как указано в pulegium, никогда не запускайте свой веб-сервер (каким будет Tomcat, если вы используете HTTP-коннектор как root! Вместо этого деактивизируйте HTTp для Tomcat (см. Server.xml) и используйте коннектор AJP / 1.3 с apache2 mod_proxy_ajp (или lighttpd, который также предлагает прокси AJP). Это рекомендованная установка для производственной среды. Кроме того, он предлагает вам преимущества mod_proxy_balancer и всех других вещей apache (или lighttpd).