it-swarm-ja.com

JBoss / Torquebox-ポート80をリッスンするように設定する方法

RailsアプリケーションをUbuntuServer11.04のTorquebox2.0.3にデプロイしようとしています。正しくデプロイされたので、ポート8080でアプリケーションにアクセスできましたが、サーバーを次のように構成できませんでした。ポート80をリッスンします。

$TORQUEBOX_HOME/jboss/standalone/configuration/standalone.xmlでリッスンするようにポートを設定しようとしました:

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">

    ....

    <socket-binding name="http" port="80"/>

    ....
</socket-binding-group>

その後、torquebox runを呼び出してTorqueboxを起動すると、次のエラーが発生します。

15:47:07,804 ERROR [org.Apache.coyote.http11.Http11Protocol] (MSC service thread 1-1) Error initializing endpoint: Java.net.BindException: Permission denied /127.0.0.1:80
    at org.Apache.Tomcat.util.net.JIoEndpoint.init(JIoEndpoint.Java:983) [jbossweb-7.0.13.Final.jar:]
    at org.Apache.coyote.http11.Http11Protocol.init(Http11Protocol.Java:190) [jbossweb-7.0.13.Final.jar:]
    at org.Apache.catalina.connector.Connector.init(Connector.Java:983) [jbossweb-7.0.13.Final.jar:]
    at org.jboss.as.web.WebConnectorService.start(WebConnectorService.Java:267) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.Java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]

    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControlle

rImpl.Java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
        at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1110) [rt.jar:1.6.0_23]
        at Java.util.concurrent.ThreadPoolExecutor$Worker.run(Thread

PoolExecutor.Java:603) [rt.jar:1.6.0_23]
    at Java.lang.Thread.run(Thread.Java:679) [rt.jar:1.6.0_23]

しかし、ポート80を保持しているプロセスはありません。

$ Sudo lsof -i :80
$ Sudo netstat -tulpn | grep :80
$

この問題を解決し、ポート80をリッスンするようにjbossサーバーを設定するにはどうすればよいですか?

1
larryzhao

1024未満の番号のポートはrootユーザーに制限される傾向があります。これを回避する最善/最も簡単な方法は、アプリケーションレベルではなく、iptablesまたはネットワークのファイアウォールで内部的にポート80から8080を転送することです。

2
Journeyman Geek