Если мы сравним вашу запись журнала с форматом журнала 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, просто требуется небольшая настройка. Таким образом я запускаю производственный сервер.