罗技媒体服务器是 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.