Rat's Blog

Nginx环境使用auth_basic密码保护wordpress后台登录界面

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »

说明:现在很多使用wordpress的人,或多或少都会出现后台被登录很多次的现象,运气不好就被进去了,通常大家都会通过修改wp-login文件来保护wordpress后台,但是这种方法有个不方便的地方就是每次WP升级就又要重改一遍,感觉很麻烦,不过使用Nginxauth_basic基本http验证功能可以保护web目录下的文件,于是我们就可以使用此文件来保护wp-login.php文件,效果就是进入后台之前,还需要验证成功,这样感觉很有效。这里以军哥的lnmp环境为例。

更多设置请参考:Nginx给网站添加用户认证配置( Basic HTTP authentication)

方法

1、生成用户名密码
进入网站:http://tool.oschina.net/htpasswd,然后输入用户名密码后选择Crypt加密算法。在vps上的/home目录下新建一个htpasswd文件,然后编辑htpasswd文件将刚才生成的用户名密码复制进去。可以通过Ftp工具完成,也可以执行这个命令:

#以下3种加密任选其一,记得修改用户名rats和密码moerats
#crypt加密
printf "rats:$(openssl passwd -crypt moerats)\n" >> /home/htpasswd

#apr1加密
printf "rats:$(openssl passwd -apr1 moerats)\n" >> /home/htpasswd

#MD5加密
printf "rats:$(openssl passwd -1 moerats)\n" >> /home/htpasswd

2、修改网站conf文件
这里我们用vim命令编辑,或者直接用WinSCP工具修改

vim /usr/local/nginx/conf/vhost/moerats.com.conf   

下面一段加到include enable-php.conf;后面

location = /wp-login.php {
auth_basic "Please enter your username and password";
auth_basic_user_file /home/htpasswd;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index wp-login.php;
include fastcgi.conf;
}

主要修改auth_basic_user_file这一行后面为你的密码文件位置就可以了。

3、重启Nginx生效

/etc/init.d/nginx restart

现在访问xxx.com/wp-login.php或者xxx.com/wp-admin应该都会弹出用户名密码的验证框就对了。