JBoss / Torquebox - Como configurar para escutar a porta 80

1

Agora estou tentando implantar meu aplicativo Rails no Torquebox 2.0.3 no Ubuntu Server 11.04. Agora está implantado corretamente, eu poderia visitar o aplicativo na porta 8080. mas não consegui configurar o servidor para escutar a porta 80.

Eu tentei definir a porta para ouvir em $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>

Depois disso, quando inicio o Torquebox chamando torquebox run e recebo o seguinte erro:

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]

Mas acho que nenhum processo está mantendo a porta 80:

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

Como eu poderia resolver este problema e configurar o servidor jboss para escutar a porta 80?

    
por larryzhao 29.05.2012 / 10:12

1 resposta

2

Portas numeradas menores - menores que 1024 tendem a ser restritas a usuários root - a melhor maneira / mais simples de contornar isso é encaminhar as portas 80 a 8080 internamente no iptables ou no firewall da rede, em vez de no nível do aplicativo.

    
por 29.05.2012 / 10:30