Ubuntu — безопасный PHPMyAdmin в Nginx

Ubuntu — безопасный PHPMyAdmin в Nginx

Я следовал инструкциям на этом сайтеустановка PHPMyAdmin. Однако эта конфигурация предназначена для Apache, а я использую Nginx. Я не могу найти в сети никаких руководств по ограничению разрешенного IP-адреса для доступа к PHPMyadmin.

Может ли кто-нибудь порекомендовать сайт или рассказать, как это сделать?

Редактировать

Вот моя конфигурация Nginx на данный момент:

server {
        listen   80;

        root /usr/share/nginx/html/cl2g/public/;
        index index.php index.html index.htm;

        server_name schedulium.ca;

        # AnuglarJS UI Front /index.html
        location / {
                rewrite ^/(.*)/$ /$1 redirect;
                if (!-e $request_filename) {
                        rewrite ^(.*)$ /index.html
                        break;
                }
        }

        # PHPMyAdmin
        location /phpmyadmin/ {
                allow my-ip-address;
                deny all;

                rewrite ^/(.*)/$ /$1 redirect;
                if (!-e $request_filename) {
                        rewrite ^(.*)$ /phpmyadmin/index.php;
                }
        }


        # Laravel Back-end /api/index.php
        location /api/ {
               # try_files $uri $uri/ /index.php$is_args$args;
                rewrite ^/(.*)/$ /$1 redirect;
                if (!-e $request_filename) {
                        rewrite ^(.*)$ /api/index.php;
                }
        }

        error_page 404 /404.html;

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
              root /usr/share/nginx/html;
        }

        # pass the PHP scripts to FastCGI server listening on the php-fpm socket
        # stfu
        location ~ \.php$ {
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_split_path_info ^(.+\.php)(.*)$;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }

}

решение1

В Nginx аргументы задаются в файле сайта, а не через htaccess.

Отредактируйте соответствующий файл сайта в /etc/nginx/sites-enabled/

если ваше местоположение выглядит примерно так.

location /phpmyadmin {
....
}

добавить следующее

allow 192.168.0.2/32; 
deny all;

Это позволит получить доступ только к хосту с IP 192.168.0.2.

затем перезапустите/перезагрузите Nginx.

решение2

Вы используете .htaccess для ограничения IP, если вы следовали руководству, на которое вы дали ссылку. В Nginx вы можете использовать nginx.conf:

server {
listen 80;
server_name name;

location / {
  root /phpmyadmin;
  passenger_enabled on;

  allow   your-public-ip;
  deny    all;
}
}

Конечно, вам придется изменить это так, чтобы это работало с вашим IP-адресом.

По умолчанию PHPMyAdmin установлен в /usr/share/phpmyadminUbuntu. В нем phpMyAdmin.confдолжна быть опция разрешить только свой IP.

Поэтому вы можете сделать это через Nginx или через PHPMyAdmin.

Связанный контент