Como posso disponibilizar o Logitech Media Server sem especificar um número de porta?

1

O Logitech Media Server é um servidor de streaming de áudio anteriormente conhecido como SlimServer pela Slim Devices. Ele transmite áudio para os dispositivos Squeezebox (da Logitech) e dispositivos de terceiros, como o PiCorePlayer do Raspberry Pi.

Quando instalado com opções padrão, o Logitech Media Server está disponível na porta 9000. A URL padrão é http://myserver:9000 .

Gostaria de reescrever o URL como http://myserver/music .

De peers, eu entendo que um servidor proxy reverso é necessário. Eu tentei usar o nginx para isso sem sucesso. Tenho certeza de que o Apache poderia trabalhar para isso, mas não obteve êxito com nenhuma das soluções. Estou ansioso para aprender!

Este artigo , no wiki do SlimDevices, explica o processo usando o Apache. Eu segui o artigo, mas não obtive sucesso.

O artigo afirma para instalar o pacote libapache2-mod-proxy-html , que não foi encontrado. Eu entendo de este artigo , é não é mais necessário. Seguindo as instruções, parece que libapache2-mod-proxy-html não é a causa do meu problema. Eu sou o único que pede ajuda, então eu adio aos outros.

O arquivo de configuração do artigo é:

# Slimserver Reverse Proxy Configuration
# Prepared by BV January 2008
#
# Make sure that the server cannot be abused
#
ProxyRequests Off

# The Proxy section below allows internet users
# to access the internal server

ProxyPass /slimserver/ http://localhost:9000/
ProxyHTMLURLMap http://localhost:9000 /slimserver
<Location /slimserver/>
    Order allow,deny
    Allow from all
    ProxyPassReverse / 
    SetOutputFilter proxy-html 
    ProxyHTMLURLMap / /slimserver/ 
    ProxyHTMLURLMap /slimserver /slimserver 
    RequestHeader unset Accept-Encoding
</Location>

Quando eu implemento a solução do artigo e tento acessar o Logitech Media Server em http://myserver/slimserver ou http://myserver/slimserver , obtenho o plano de fundo da página apropriado, mas o conteúdo principal apenas diz Carregando o Logitech Media Server ... . Carregando a imagem da tela do Logitech Media Server ... O URL http://myserver:9000 funciona. Eu posso interagir com o servidor de mídia logitech normalmente.

Eu preferiria aprender a maneira de fazer isso no nginx, pois é o que meus colegas de trabalho usam hoje e estão mais familiarizados. Se eu sou mostrado como fazer isso no Apache2, eu poderia tentar duplicar a funcionalidade do nginx como uma experiência de aprendizado. Uma vez mostrado o caminho certo, eu vou para os documentos do Apache ou nginx e pesquiso os detalhes da solução. Reescrever a URL como descrito acima é algo que eu queria fazer há anos [insira emojis com cara embaraçada aqui], mas não foram bem-sucedidos.

    
por ndemarco 06.03.2018 / 12:19

2 respostas

2

Ainda não experimentei, mas porque não basta definir a porta para 80 quando slimserver.pl for iniciado. Eu corro na minha máquina de trabalho, onde eu só tenho permissões básicas de usuário.
Tudo corre para fora do meu dir home.

Eu tenho uma instalação completamente autônoma, nenhum usuário privilegiado para iniciar / parar, etc. É muito flexível se você se interessar por ela.

Esta é uma orientação para o uso do comando:

Usage: ./slimserver.pl [--audiodir ] [--daemon] [--stdio] [--logfile ] 
                       [--user ]
                       [--group ]
                       [--httpport  [--httpaddr ]]
                       [--cliport  [--cliaddr ]]
                       [--prefsfile  [--pidfile ]]
                       [--d_various]
                       --help           => Show this usage information.
                       --audiodir       => The path to a directory of your MP3 files.
                       --logfile        => Specify a file for error logging.
                       --daemon         => Run the server in the background.
                                           This may only work on Unix-like systems.
                       --stdio          => Use standard in and out as a command line interface
                                           to the server
                       --user           => Specify the user that server should run as.
                                           Only usable if server is started as root.
                                           This may only work on Unix-like systems.
                       --group          => Specify the group that server should run as.
                                           Only usable if server is started as root.
                                           This may only work on Unix-like systems.
                       --httpport       => Activate the web interface on the specified port.
                                           Set to 0 in order disable the web server.
                       --httpaddr       => Activate the web interface on the specified IP address.
                       --cliport        => Activate the command line interface TCP/IP interface
                                           on the specified port. Set to 0 in order disable the
                                           command line interface server.
                       --cliaddr        => Activate the command line interface TCP/IP
                                           interface on the specified IP address.
                       --prefsfile      => Specify the path to the preferences file
                       --pidfile        => Specify where a process ID file should be stored
                       --quiet          => Minimize the amount of text output
                       --playeraddr     => Specify the _server's_ IP address to use to connect
                                           to players
                       --streamaddr     => Specify the _server's_ IP address to use to connect
                                           to streaming audio sources
                       --nosetup        => Disable setup via http.
    
por Thad 12.09.2018 / 19:39
1

Você pode usar iptables para fazer solicitações de mapa para a porta 80 de volta para 9000:

sudo iptables -I PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port 9000

Isso permitirá que você solicite o link sem o número da porta. Para tornar isso persistente nas reinicializações, você precisará instalar o iptables-persistent

sudo apt-get install iptables-persistent
    
por J. Reeves 28.07.2018 / 22:46