如何限制对Nginx的WordPress管理WP-login.php中(How to restric

2019-09-29 11:55发布

如何使用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中的文件可以下载。

任何建议?

Answer 1:

我有一个类似的问题,试图阻止我的域WP-login.php中。

我发现,如果我没有在文件名完全匹配,将正常工作。

什么结束了对我来说工作:

location ~* (wp-login)\.php$ {
    auth_basic            "Restricted Area: WordPress";
    auth_basic_user_file  /home/path/to/passwords/.htpasswd;
}

这种设置从网上下载的登录文件,实际上它解析为PHP停在我的浏览器。



Answer 2:

为我工作-记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-登录块被忽略(总是值得检查你的主配置文件),但它并不显得和重新排序文件制成用于任一模式没有差别。



Answer 3:

您需要身份验证的基本模块:

我想你可以把这种只目录:

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

第二点;)



文章来源: How to restrict WordPress Admin wp-login.php on Nginx