A transmissão não funciona na porta 80

3

Eu estava tentando usar o Web Interface da Transmission e funcionou perfeitamente. Eu poderia acessá-lo via http://localhost:8080/transmission/web/ , eu poderia usar o meu IP local, eu poderia usar 127.0.0.1, eu poderia, após o encaminhamento de porta, até usar o meu IP real. Uma conexão DNS foi bem sucedida!

Eu estava incomodado com o :8080 colado na URL e queria removê-lo. Fiz as configurações da Transmission e mudei para a porta 80. De repente, não consegui me conectar via qualquer método ! Todos eles falharam. Até mesmo pressionar o botão "Abrir web client" nas configurações do Transmission não funcionou. (apenas uma mensagem genérica "não foi possível estabelecer conexão", caso você estivesse curioso.)
OBSERVAÇÃO: Eu não tenho o Apache ou qualquer outro software de servidor instalado.

Eu então, em pânico, voltei para a porta 8080 e estava tudo bem. Outra tentativa em 80 e falha. A reinicialização da transmissão também não resolveu nada. (Em um palpite, tentei conectar-me ao :8080 url enquanto o configurava para a porta 80, só para ver se ele ainda estava usando a porta antiga. Não era.)

De qualquer forma, isso não é um problema crítico, mas eu realmente gostaria de poder usar a porta 80 para meu cliente web! (bem, eu realmente gostaria de poder usar o 443, mas isso é outra pergunta ...)

    
por JamesTheAwesomeDude 06.12.2012 / 05:30

2 respostas

5

Os primeiros 1024 as portas são restritas; você precisa ser root ou ter o recurso CAP_NET_BIND_SERVICE adequado .

Se você realmente quisesse usar a porta 80, poderia dar à transmissão essa capacidade com o comando setcap .

Este é o comando correto para Transmissão:

sudo setcap cap_net_bind_service+ep /usr/bin/transmission-daemon
    
por RAOF 06.12.2012 / 05:42
0

Outra abordagem, se você não quisesse conceder privilégios adicionais à transmissão, e já tivesse o Apache ou o nginx instalado, seria usar o Apache ou nginx para conexões de proxy de encaminhamento da porta 80 para a porta 8080.

Veja esta abordagem:

link

Em resumo, isso envolve a instalação do Apache com o mod_proxy e, em seguida:

ProxyPass        / http://hostname:8080/
ProxyPassReverse / http://hostname:8080/

E você pode até mudar os nomes dos caminhos, se necessário, se você tivesse outras coisas que queria rodar na porta 80 também.

O equivalente em nginx também seria fácil.

    
por thomasrutter 05.01.2015 / 02:04