Для дополнительной защиты закроем phpmyadmin http авторизацией, оставив без пароля доступ лишь для подсети своего провайдера. Сначала создадим простенький пароль:
pwgen --capitalize --numerals --ambiguous --no-vowels 16 1
И добавим авторизационный файл юзера, указав этот пароль:
htpasswd -c /etc/nginx/auth.htpasswd user
nginx конфиг для phpmyadmin будет выглядеть так:
location /phpmyadmin { satisfy any; allow 91.240.190.0/23; deny all; auth_basic "Administrator’s Area"; auth_basic_user_file /etc/nginx/auth.htpasswd; alias /usr/share/phpmyadmin; index index.php; } location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { satisfy any; allow 91.240.190.0/23; deny all; auth_basic "Administrator’s Area"; auth_basic_user_file /etc/nginx/auth.htpasswd; alias /usr/share/phpmyadmin/$1; error_page 404 @apache; } location ~ ^/phpmyadmin/(.+\.php)$ { satisfy any; allow 91.240.190.0/23; deny all; auth_basic "Administrator’s Area"; auth_basic_user_file /etc/nginx/auth.htpasswd; alias /usr/share/phpmyadmin/$1; fastcgi_pass unix:/var/run/php-fpm.www-data.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include fastcgi_params; error_page 502 = @apache; error_page 404 = @apache; } location @apache { error_log /dev/null crit; proxy_pass http://127.0.0.1:8080; proxy_redirect http://127.0.0.1:8080 /; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location ^~ /phpmyadmin/setup { deny all; }