Логин для администратора не работает на сервере Icecast - PullRequest
0 голосов
/ 27 августа 2018

Я установил почти идентичный промежуточный сервер для нашего производственного сервера Icecast.

Однако единственная проблема, с которой я сталкиваюсь (пытаюсь создать точку монтирования), - это вход в систему администратора.

==> /var/log/icecast2/access.log <==
10.0.0.42 - - [27/Aug/2018:18:16:05 +0000] "GET /admin/ HTTP/1.1" 401 331 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.344 0.106 Safari/537.36" 0

==> /var/log/icecast2/error.log <== [2018-08-27  18:16:05] INFO admin/admin_handle_request Bad or missing password on admin command request (command: )

Что не происходит на производстве.

Единственное отличие сейчас в том, что у меня есть эта промежуточная установка сервера на входе nginx через kubernetes.

1 Ответ

0 голосов
/ 06 сентября 2018

Если мы сравним вашу запись журнала с форматом журнала Nginx по умолчанию:

10.0.0.42 - [27/Aug/2018:18:16:05 +0000] "GET /admin/ HTTP/1.1" 401
$remote_addr $remote_user [$time_local] "$request" $status

- между IP-адресом и временем указывает, что переменная $remote_user не была отправлена ​​с этим запросом.

Эта переменная принимает значение имени пользователя, поставляемого с базовой аутентификацией, поэтому, если похоже, что оно не передается на ваш сервер Icecast.

Как выглядит ваш conf-файл Nginx? Если вы перенаправляете запрос на ваш сервер Icecast с директивой proxy_pass, вам может потребоваться специально передать заголовок auth, например:

proxy_set_header Authorization $http_authorization;

Вы также можете обнаружить, что некоторые пути в Icecast не работают должным образом, но если ваша сборка Nginx имеет модуль sub_filter, вы можете переписать их, что-то вроде этого:

sub_filter_types text/xhtml text/xml text/css;
sub_filter 'href="/'  'href="<external-url>';
sub_filter 'url(/'  'url(<external-url>';
sub_filter_once off;
sub_filter_last_modified on;
proxy_set_header Accept-Encoding "";

Нет причин, по которым вы не сможете получить доступ к своим страницам администратора через Nginx, просто требуется небольшая настройка. Таким образом я запускаю производственный сервер.

...