如何在不指定端口号的情况下使 Logitech Media Server 可用?

如何在不指定端口号的情况下使 Logitech Media Server 可用?

罗技媒体服务器是 Slim Devices 以前称为 SlimServer 的流式音频服务器。它将音频流式传输到 Squeezebox 设备(由 Logitech 提供)和第三方设备,例如基于 Raspberry Pi 的PiCorePlayer

使用默认选项安装时,Logitech Media Server 在端口 9000 上可用。默认 URL 为http://myserver:9000

我想将 URL 重写为http://myserver/music

从同行那里,我了解到需要反向代理服务器。我曾尝试使用 nginx 来实现这一点,但没有成功。我确信 Apache 可以实现这一点,但这两种解决方案都没有成功。我渴望学习!

本文在 SlimDevices wiki 上,解释了使用 Apache 的过程。我按照文章操作,但没有成功。

文章指出要安装该包libapache2-mod-代理-html,没有找到。我理解本文,不再需要。按照说明,似乎libapache2-mod-代理-html不是我的问题的根源。我是那个寻求帮助的人,所以我听从别人的建议。

该文章的配置文件为:

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

当我实施本文的解决方案并尝试访问http://myserver/slimserver或上的 Logitech Media Serverhttp://myserver/slimserver时,我获得了正确的页面背景,但主要内容仅显示正在加载 Logitech 媒体服务器...正在加载 Logitech Media Server...屏幕图像 URLhttp://myserver:9000可用。我可以正常与 Logitech 媒体服务器交互。

我更愿意学习在 nginx 中执行此操作的方法,因为这是我的同事现在使用的并且最熟悉的方法。如果有人向我展示如何在 Apache2 中执行此操作,我可以尝试自己在 nginx 中复制该功能,作为一种学习体验。一旦向我展示了正确的方法,我将进入 Apache 或 nginx 文档并研究解决方案的细节。如上所述重写 URL 是我多年来一直想做的事情 [在此处插入尴尬的表情符号],但一直没有成功。

答案1

您可以使用iptables将请求从 80 端口映射回 9000 端口:

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

这将允许您请求http://我的服务器/无需端口号。为了使此设置重启后仍然有效,您需要安装 iptables-persistent

sudo apt-get install iptables-persistent

答案2

我还没有尝试过,但为什么不在slimserver.pl启动时将端口设置为 80 呢?我在工作机器上运行它,我只有基本用户权限。
一切都从我的主目录运行。

我有一个完全独立的安装,没有特权用户可以启动/停止等。如果你深入研究它,它非常灵活。

这是该命令的使用指南:

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.

相关内容