如何使用Nginx的配置从公众访问限制WordPress的wp-login.php中。
我知道如何限制使用htaccess的访问,但我怎么能做到这一点对Nginx的?
这里是我试过的配置。
location /wp-login.php {
auth_basic "Restricted";
auth_basic_user_file /var/www/example.com/.htpasswd;
}
当我访问了可湿性粉剂管理员,整个WP-login.php中的文件可以下载。
任何建议?
我有一个类似的问题,试图阻止我的域WP-login.php中。
我发现,如果我没有在文件名完全匹配,将正常工作。
什么结束了对我来说工作:
location ~* (wp-login)\.php$ {
auth_basic "Restricted Area: WordPress";
auth_basic_user_file /home/path/to/passwords/.htpasswd;
}
这种设置从网上下载的登录文件,实际上它解析为PHP停在我的浏览器。
这为我工作-记location ~*
没有
location ^~ /wp-login.php {
auth_basic "Restricted Area: WordPress";
auth_basic_user_file /home/path/to/passwords/.htpasswd;
}
这是除了location /wp-admin
,当然。
我相信这是因为~*
(4日)是在较低Nginx的搜索顺序比^~
(2日)。
我也想知道,一个存在location ~ \.php$
在另一块包含的文件是造成WP-登录块被忽略(总是值得检查你的主配置文件),但它并不显得和重新排序文件制成用于任一模式没有差别。
您需要身份验证的基本模块:
我想你可以把这种只目录:
location /wp-admin {
auth_basic "Restricted";
auth_basic_user_file /var/www/example.com/.htpasswd;
}
如果你有阿帕奇工具instaled这仅适用,如果不是,请参阅本: http://wiki.nginx.org/Faq#How_do_I_generate_an_htpasswd_file_without_having_Apache_tools_installed.3F
第二点;)