2013-03-22 1 views
1

Jruby를 사용하여 제작 용으로 배포하려는 Rails 앱이 있습니다. 그것은 트리니다드를 사용하고 있습니다. 루트를 사용하지 않고 포트 80으로 실행하고 싶습니다. authbind가 우분투에서 합당한 선택일까요? 구성하는 좋은 방법은 무엇입니까?authbind에서 Trinidad 서버 (Rails 용)를 실행 중이십니까?

답변

0

Jruby를 실행하고 있습니다. 즉. JVM을 사용하고 있습니까? authbind는 표준 소켓 라이브러리 호출 (예 : socket.h의 bind())을 인터셉트합니다. 불행하게도, Java (적어도 Java 1.6+ 이상)는 표준 소켓 라이브러리를 사용하지 않지만 훨씬 낮은 수준의 syscall을 사용하므로 authbind는 Java에서 작동하지 않습니다.

포트에서 tomcat을 실행하려는 경우 nginx 또는 apache를 역방향 프록시로 사용하거나 iptables를 사용하여 수신 패킷의 "대상 포트"를 다시 작성하십시오. Tomcat FAQ에 대한 자세한 내용은 다음과 같습니다. http://wiki.apache.org/tomcat/HowTo#How_to_run_Tomcat_without_root_privileges.3F

+0

의미가 있지만, bind()는 이미 저수준 호출이라고 생각했습니다. – seand

+0

지금 생각해 보면 자바로 작업하기 위해 authbind를 사용하려는 시도는 authbind에 "--deep"옵션을 사용하는 것을 포함하지 않았습니다. jQuery가 JVM을 호출하는 명령에 "authbind --deep"을 선행하여 tomcat 시작 스크립트를 편집합니다. –