我按照这个网站上的说明安装 PHPMyAdmin。但是这个配置是针对 Apache 的,我用的是 Nginx。网上没找到如何限制访问 PHPMyadmin 的 IP 地址的教程。
有人可以推荐一个网站或者告诉我如何做到这一点吗?
编辑
这是我目前的 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/phpmyadmin
Ubuntu 中。其中phpMyAdmin.conf
应该有一个选项只允许您的 IP。
因此,您可以通过 Nginx 或 PHPMyAdmin 来完成此操作。