Ubuntu - Sicheres PHPMyAdmin in Nginx

Ubuntu - Sicheres PHPMyAdmin in Nginx

Ich habe die Anweisungen auf dieser Site befolgt fürPHPMyAdmin installieren. Diese Konfiguration ist jedoch für einen Apache und ich verwende Nginx. Ich kann online kein Tutorial finden, wie man die zulässige IP-Adresse für den Zugriff auf PHPMyadmin einschränkt.

Kann mir jemand eine Site empfehlen oder mir sagen, wie ich das machen kann?

Bearbeiten

Dies ist meine aktuelle Nginx-Konfiguration:

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;
        }

}

Antwort1

In Nginx legen Sie die Argumente in der Site-Datei fest, nicht über htaccess.

Bearbeiten Sie Ihre entsprechende Site-Datei in /etc/nginx/sites-enabled/

wenn Ihr Standort ungefähr so ​​aussieht.

location /phpmyadmin {
....
}

füge Folgendes hinzu

allow 192.168.0.2/32; 
deny all;

Dadurch ist nur der Zugriff auf den Host mit der IP 192.168.0.2 möglich.

Starten Sie dann Nginx neu/laden Sie es neu.

Antwort2

Sie verwenden .htaccess zur IP-Einschränkung, wenn Sie das Tutorial befolgt haben, zu dem Sie einen Link gesetzt haben. In Nginx können Sie nginx.conf verwenden:

server {
listen 80;
server_name name;

location / {
  root /phpmyadmin;
  passenger_enabled on;

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

Natürlich müssen Sie dies ändern, damit es mit Ihrer IP-Adresse funktioniert.

Standardmäßig ist PHPMyAdmin in /usr/share/phpmyadminUbuntu installiert. Dort phpMyAdmin.confsollte es eine Option geben, nur Ihre IP zuzulassen.

Sie können es also über Nginx oder über PHPMyAdmin tun.

verwandte Informationen