web-dev-qa-db-fra.com

Comment puis-je rendre Logitech Media Server disponible sans spécifier de numéro de port?

Serveur multimédia Logitech est un serveur de diffusion audio précédemment appelé Slim Devices, appelé SlimServer. Il diffuse de l'audio sur des périphériques Squeezebox (de Logitech) et des périphériques tiers, tels que ceux basés sur Raspberry Pi PiCorePlayer .

Lorsqu'il est installé avec les options par défaut, le serveur multimédia Logitech est disponible sur le port 9000. L'URL par défaut est http://myserver:9000.

Je voudrais réécrire l'URL comme http://myserver/music.

D'après les pairs, un serveur proxy inverse est requis. J'ai essayé d'utiliser nginx pour cela sans succès. Je suis tout à fait sûr qu'Apache pourrait travailler pour cela, mais aucune de ces solutions n’a réussi. Je suis désireux d'apprendre!

Cet article , sur le wiki SlimDevices, explique le processus utilisant Apache. J'ai suivi l'article, mais je n'ai pas réussi.

L'article stipule d'installer le package libapache2-mod-proxy-html , qui n'est pas trouvé. Je comprends de cet article , ce n’est plus nécessaire. En suivant les instructions, il semble que libapache2-mod-proxy-html ne soit pas la cause de mon problème. C'est moi qui demande de l'aide, alors je m'en remets aux autres.

Le fichier de configuration de l'article est:

# 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>

Lorsque j'implémente la solution de l'article et que j'essaie d'accéder au serveur Logitech Media sur http://myserver/slimserver ou http://myserver/slimserver, j'obtiens le fond de page approprié, mais le contenu principal indique uniquement Chargement Logitech Media Server ... . Chargement de Logitech Media Server ... image d'écran L'URL http://myserver:9000 fonctionne. Je peux interagir normalement avec le serveur multimédia logitech.

Je préférerais apprendre comment procéder de la sorte avec nginx, car c’est ce que mes collègues utilisent aujourd’hui et qu'ils connaissent le mieux. Si on me montre comment faire cela dans Apache2, je pourrais essayer de dupliquer moi-même les fonctionnalités de nginx en tant qu'expérience d'apprentissage. Une fois la bonne façon montrée, je vais aller dans la documentation Apache ou nginx et rechercher les détails de la solution. Réécrire l'URL comme décrit ci-dessus est une chose que je voulais faire depuis des années [insérer ici un emoji de visage embarrassé] mais qui n'a pas abouti.

1
ndemarco

Je ne l'ai pas encore essayé, mais pourquoi ne pas simplement définir le port à 80 lorsque slimserver.pl est démarré. Je l'exécute sur ma machine de travail où je ne dispose que d'autorisations utilisateur de base.
Tout s’écoule de ma maison.

J'ai une installation complètement autonome, aucun utilisateur privilégié pour démarrer/arrêter, etc. C'est très flexible si vous creusez dedans.

Ceci est un guide pour l'utilisation de la commande:

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.
2
Thad

Vous pouvez utiliser iptables pour effectuer des demandes de mappage sur le port 80 et le ramener à 9000:

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

Cela vous permettra de demander http: // myserver / sans le numéro de port. Afin de rendre cette tâche persistante lors des redémarrages, vous devez installer iptables-persistent

Sudo apt-get install iptables-persistent
1
J. Reeves