我目前正在将一个小型开发服务器从 Apache 迁移到 Nginx,并且我想知道管理 PhpMyAdmin 的“标准”方法:
我只是将 phpmyadmin 文件夹符号链接到我的 nginx 站点根文件夹。我还看到很多帖子说要反过来管理它,即使用 nginx conf 文件。
我的问题是:“标准方法是什么?这两种方法的优缺点是什么?”
在第二种解决方案的优点中,我猜它是全局的(如果我们想在每个域上使用它,就不需要对每个域都这样做。)但由于我不关心它在任何其他域上,我只是想确保我不会错过一些安全问题。
答案1
我用管理员而不是 PhpMyAdmin,但概念是相同的。
我建议在你的 nginx 站点配置中添加 PhpMyAdmin 的位置,并使用 HTTP 基本身份验证保护它。PhpMyAdmin 是黑客和机器人的主要目标,因此最好保护它。
#Location for Adminer
location /db {
alias /var/www/adminer/;
auth_basic "Restricted"; #Enable HTTP authentication
auth_basic_user_file /etc/nginx/pass; #Set authentication file location
try_files $uri $uri/ /index.php;
location ~* ^/db(.+\.php)$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
}