<p>I have setup a nearly identical staging server to our production icecast server. </p>

<p>However the one issue I'm running into ( trying to create the mountpoint ) is logging into the admin.</p>

<pre><code>==&gt; /var/log/icecast2/access.log &lt;==
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

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

<p>Which doesn't happen on production.</p>

<p>The only difference right now is that I have this staging server setup on an nginx ingress through kubernetes.</p>

Pablo Marti Cordero
<p>If we compare your log entry with the default Nginx log format:</p>

<pre><code>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
</code></pre>

<p>The <code>-</code> between the IP address and the time indicates the <code>$remote_user</code> variable was not sent with this request.</p>

<p>This variable takes the value of the user name supplied with the Basic authentication, so if looks like this is not being passed to your Icecast server.</p>

<p>What does your Nginx conf file look like? If you are routing the request to your icecast server with a <code>proxy_pass</code> directive you may need to specifically pass the auth header, like this:</p>

<pre><code>proxy_set_header Authorization $http_authorization;
</code></pre>

<p>You may also find some of the paths within Icecast don't work properly, but if your Nginx build has the sub_filter module you can rewrite them, something like this:</p>

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

<p>There is no reason you shouldn't be able to access your admin pages through Nginx, it just takes a little tweaking. I run a production server in this way.</p>
