Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx 登录到管理员不适用于icecast服务器_Nginx_Kubernetes_Admin_Icecast_Nginx Ingress - Fatal编程技术网

Nginx 登录到管理员不适用于icecast服务器

Nginx 登录到管理员不适用于icecast服务器,nginx,kubernetes,admin,icecast,nginx-ingress,Nginx,Kubernetes,Admin,Icecast,Nginx Ingress,我已经设置了一个与生产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 (

我已经设置了一个与生产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: )
这在生产中不会发生


现在唯一的区别是,我通过kubernetes在nginx入口上设置了此暂存服务器。

如果我们将您的日志条目与默认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_用户变量未随此请求一起发送

此变量采用基本身份验证提供的用户名的值,因此如果看起来没有将其传递到Icecast服务器

您的Nginx conf文件是什么样子的?如果使用proxy_pass指令将请求路由到icecast服务器,则可能需要专门传递auth头,如下所示:

proxy_set_header Authorization $http_authorization;
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 "";
您可能还会发现Icecast中的某些路径工作不正常,但如果您的Nginx构建具有sub_过滤器模块,您可以重写它们,如下所示:

proxy_set_header Authorization $http_authorization;
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访问你的管理页面,只是需要稍微调整一下。我用这种方式运行生产服务器。

哦,天哪。除非你是NGIX上的顶级,请考虑不要这么做。人们不断遇到的问题太多了。给你一个想法,你正在进入。哇,我从来没有想过检查这里。非常感谢。