Как я могу сделать Logitech Media Server доступным без указания номера порта?
Logitech Media Server - это потоковый аудиосервер, ранее принадлежавший Slim Devices, известный как SlimServer. Он передает аудио на устройства Squeezebox (от Logitech) и сторонние устройства, такие как PiCorePlayer на основе Raspberry Pi.
При установке с опциями по умолчанию медиа-сервер Logitech доступен на порту 9000. URL-адрес по умолчанию: http://myserver:9000
,
Я хотел бы переписать URL как http://myserver/music
,
От сверстников, я понимаю, обратный прокси-сервер не требуется. Я пытался использовать nginx для этого безуспешно. Я вполне уверен, что Apache может работать для этого, но не удалось ни с одним из решений. Я очень хочу учиться!
В этой статье на вики SlimDevices объясняется процесс с использованием Apache. Я следил за статьей, но не увенчался успехом.
В статье говорится об установке пакета libapache2-mod-proxy-html, который не найден. Я понимаю из этой статьи, это больше не требуется. Следуя инструкциям, кажется, libapache2-mod-proxy-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>
Когда я внедряю решение этой статьи и пытаюсь получить доступ к Logitech Media Server на http://myserver/slimserver
или же http://myserver/slimserver
, Я получаю правильный фон страницы, но основное содержание говорит только о загрузке Logitech Media Server.... Загрузка Logitech Media Server... изображение экрана URL http://myserver:9000
работает. Я могу нормально взаимодействовать с медиа-сервером Logitech.
Я бы предпочел узнать, как это сделать в nginx, так как это то, что мои коллеги используют сегодня и с которыми они лучше всего знакомы. Если мне покажут, как это сделать в Apache2, я мог бы попытаться скопировать функциональность в nginx сам в качестве опыта обучения. После того, как я укажу правильный путь, я зайду в документы Apache или nginx и изучу детали решения. Переписать URL-адрес, как описано выше, - это то, что я хотел делать годами [вставьте смутное лицо смайликов здесь], но безуспешно.
2 ответа
Ты можешь использовать iptables
сделать запросы карты на порт 80 обратно на 9000:
sudo iptables -I PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port 9000
Это позволит вам запросить http://myserver/ без номера порта. Чтобы сделать это постоянным при перезагрузках, вам нужно установить iptables-persistent
sudo apt-get install iptables-persistent
Я еще не пробовал, но почему бы просто не установить порт на 80, когда slimserver.pl
запущен Я запускаю его на своей рабочей машине, где у меня есть только основные пользовательские права.
Все кончается из моего дома, реж.
У меня полностью автономная установка, нет привилегированного пользователя для запуска / остановки и т. Д. Это очень гибко, если вы копаетесь в этом.
Это руководство по использованию команды:
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.