У меня есть экземпляр Ubuntu с запущенным nginx. Я применил аутентификацию nginx http в каталоге, содержащем phpmyadmin. Теперь, когда я перехожу на https://url.com/dir1/dir2/phpmyadmin, nginx будет возвращать ошибку 403 вместо перехода на index.php в каталоге phpmyadmin. Я использовал index index.php; как снаружи, так и внутри моих блоков местоположения, но это не имело никакого эффекта. Только когда я комментирую строки аутентификации http в файле конфигурации, nginx перенаправляет / phpmyadmin в /phpmyadmin/index.php. Кстати, это происходит с любым каталогом, который имеет аутентификацию, а не только с phpmyadmin.
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
location /console/admin {
try_files $uri $uri/ =404;
index index.php;
auth_basic "Admin Console";
auth_basic_user_file /etc/nginx/.htpasswd;
}
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
#
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
Есть предложения или решения по этому вопросу?