Для дополнительной защиты закроем phpmyadmin http авторизацией, оставив без пароля доступ лишь для подсети своего провайдера. Сначала создадим простенький пароль:
1 | pwgen --capitalize --numerals --ambiguous --no-vowels 16 1 |
И добавим авторизационный файл юзера, указав этот пароль:
1 | htpasswd -c /etc/nginx/auth.htpasswd user |
nginx конфиг для phpmyadmin будет выглядеть так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | 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; } |