executando red5 na porta 80

2

Eu tenho um link da aplicação red5 que é executado em red5 e está acessível nas portas 5080 e 8443

Eu instalei no Ubuntu 10.04

O objetivo final é disponibilizá-lo via https em 443 em vez de 8443, mas eu pensei em testar 80 inicialmente, de modo que qualquer problema ocorresse apenas na configuração da porta e não em certificados SSL.

Eu tentei alterar a porta de 5080 para 80 no arquivo red5.properties, mas ele não foi iniciado.

No red5.log eu vi

ERROR o.a.coyote.http11.Http11Protocol - Erro ao inicializar o ponto final java.net.BindException: Permissão negada /0.0.0.0:80

No error.log eu vi

ERROR o.a.coyote.http11.Http11Protocol - Erro ao inicializar o terminal java.net.BindException: Permissão negada /0.0.0.0:80

e

ERROR org.red5.server.tomcat.TomcatLoader - Erro ao carregar o tomcat, incapaz de vincular o conector. Você pode não ter permissão para usar a porta selecionada org.apache.catalina.LifecycleException: Falha na inicialização do manipulador de protocolo: java.net.BindException: Permissão negada /0.0.0.0:80

Não há mais nada instalado ou em execução na porta 80, então presumo que essa seja uma situação "precisa ser raiz". Eu preferiria não executar um serviço da web acessível pela Internet como root.

Eu sei que o Tomcat pode ser executado na porta 80 alterando “# AUTHBIND = no” para “AUTHBIND = yes” em / etc / default / tomcat6, mas não consegui encontrar nada semelhante para o red5.

Estou em um esconderijo para nada, ou há melhor maneira do que correr como root?

Obrigado!

    
por shouldbeq931 29.06.2011 / 02:04

3 respostas

1

Você não pode executar nada nas portas < 1024 no Linux como um usuário normal. Verifique esta questão:

e as respostas relacionadas.

    
por 29.06.2011 / 03:36
1

Até onde eu sei, o red5 não tem nenhuma cláusula para ligação de uma porta privilegiada e, em seguida, descarta privilégios de root de volta para uma conta de usuário normal, como muitos outros daemons (como Apache, tomcat, etc.) fazem.

Portanto, enquanto você pode executá-lo como root e ligar à porta 80, ele continuará sendo executado como root e não será seguro.

Para contornar isso, use algum tipo de encaminhamento de porta . Por exemplo, o xinetd tem um redirecionamento de porta embutido, então, se você já estiver usando-o para outra coisa, você pode configurar uma porta simples:

service yourservicename
{
        disable         = no
        type            = UNLISTED
        socket_type     = stream
        protocol        = tcp
        user            = nobody
        wait            = no
        redirect        = 127.0.0.1 5080
        port            = 80
}
    
por 21.07.2012 / 08:53
0

Sei que não é o que você pediu, mas talvez usar o apache ou o nginx como proxy reverso do seu aplicativo pode funcionar bem.

    
por 21.06.2012 / 07:31

Tags