From a1eb9f8f1c7ee0f8e79ac5921bfe9b2674825a14 Mon Sep 17 00:00:00 2001 From: Eugene Zolenko Date: Thu, 4 Oct 2018 11:32:14 -0600 Subject: [PATCH] Repeating auth_basic entries for *.php and *.js, otherwise admin/index.http page loads without 401, and instead pops 401 on each resource it requests, resulting in "js is disabled" message. --- Nginx-Configuration.asciidoc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Nginx-Configuration.asciidoc b/Nginx-Configuration.asciidoc index 696b1a3..b6dd383 100644 --- a/Nginx-Configuration.asciidoc +++ b/Nginx-Configuration.asciidoc @@ -26,10 +26,14 @@ server { location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; + auth_basic "Restricted"; #For Basic Auth + auth_basic_user_file /etc/nginx/.htpasswd; #For Basic Auth } location /*.js { index pihole/index.js; + auth_basic "Restricted"; #For Basic Auth + auth_basic_user_file /etc/nginx/.htpasswd; #For Basic Auth } location /admin { @@ -51,7 +55,7 @@ server { . `service php7.0-fpm start` #start php7.0-fpm daemon . `service nginx start` #start nginx webserver . If you want to use your custom domain to access admin page (e.g.: `http://mydomain.internal/admin/settings.php` instead of `http://pi.hole/admin/settings.php`), make sure `mydomain.internal` is assigned to `server_name` in `/etc/nginx/sites-available/default`. E.g.: `server_name mydomain.internal;` -. To retain the functionality of the block page when directly accessing blacklisted domains, `$serverName = escapeshellcmd($_SERVER['SERVER_NAME']);` should be replaced with `$serverName = escapeshellcmd($_SERVER['HTTP_HOST']);` in `pihole/index.php`. With Nginx, if `server_name` is not defined in the server config it defaults to `""`, whereas in Lighttpd it defaults to `hostname`. +. To retain the functionality of the block page when directly accessing blacklisted domains, `$serverName = escapeshellcmd($_SERVER['SERVER_NAME']);` should be replaced with `$serverName = escapeshellcmd($_SERVER['HTTP_HOST']);` in `pihole/index.php`. With Nginx, if `server_name` is not defined in the server config it defaults to `""`, whereas in Lighttpd it defaults to `hostname`. (HTTP_HOST is already used in current version of pi-hole) . If you want to use block page for any blocked domain subpage (aka Nginx 404), add this to Pihole server block in your Nginx configuration file: ``` error_page 404 /pihole/index.php