У меня есть приложение Rails, использующее Jruby, которое я хотел бы развернуть для производства. Он использует Тринидад. Я хотел бы работать как порт 80 без использования root. Может ли authbind быть разумным выбором (на Ubuntu)? Каков хороший способ его настройки?работает на сервере trinidad (для Rails) под authbind?
1
A
ответ
0
Вы используете Jruby, т.е. используя JVM? authbind перехватывает стандартные вызовы библиотеки сокетов (например, bind() в socket.h). К сожалению, Java (по крайней мере, java 1.6+ по моему опыту) не использует стандартные библиотеки сокетов, но использует много системных вызовов более низкого уровня, поэтому authbind не работает с Java.
Если вы хотите запустить tomcat на порт, то есть использовать nginx или apache в качестве обратного прокси или использовать iptables для перезаписи «целевого порта» входящих пакетов. Более подробная информация в tomcat FAQ: http://wiki.apache.org/tomcat/HowTo#How_to_run_Tomcat_without_root_privileges.3F
Это имеет смысл, но я думал, что bind() уже был вызовом низкого уровня. – seand
Теперь, когда я думаю об этом, мои попытки получить authbind для работы с java не включали использование опции «--deep» для authbind. Я бы отредактировал сценарий запуска tomcat, добавив «authbind --deep» к команде, что auctualy вызывает JVM. –