Nginx 启用 HTTP Basic Auth

4 Comments

ngx_http_auth_basic_module 模块可以实现访问者输入正确用户名和密码才允许访问指定目录内容。比如,可以实现 VPS 上放置的探针,只能输入用户名和密码后才能访问。

这样就不需要用下面的笨办法来阻止访客访问探针文件。

WordPress 修改管理页面登录地址

WordPress 默认管理页面登录地址为 /wp-login.php,据说修改一下这个登陆地址,可以一定程度上提高点安全性。 (更多…)

生成用户认证文件

echo "username:$(openssl passwd -crypt 'password')" >> /home/.htpasswd

其中,username 为用户名,password 为密码,/home/.htpasswd 为用户认证文件路径。

注意:密码长度最大为8位。

修改 Nginx 配置文件

location ^~ /test/ {
	location ~ [^/]\.php(/|$)
		{
			try_files $uri =404;
			fastcgi_pass  unix:/tmp/php-cgi.sock;
			fastcgi_index index.php;
			include fastcgi.conf;
		}
	auth_basic "Authorized users only";
	auth_basic_user_file /home/.htpasswd;
}

以上为参考配置,请根据实际修改。

修改完配置,reload 一下 Nginx:

nginx -s reload

如无意外,就成功了。

LNMP 环境下测试通过。

参考资料

小十 - nginx用户认证配置( Basic HTTP authentication)

Zohar - Nginx启用HTTP Basic Auth

快报:Vultr 最新活动,充 $5 送 $25,可以用 $2.5 套餐 VPS 一年,活动即将结束,快上车【点击查看】| 搬瓦工年付 $19 中国直连线路补货,优惠码:BWH1ZBPVK,『点击直达
声明: 除非注明,常阳时光文章均为原创,转载请以链接形式标明本文地址
本文地址:https://cyhour.com/636/
Views: 346 Tags: 

Comments:4

  1. 这样做可能会让加密码的文章输密码后不能正常显示

    那个POST包是到/wp-login.php的

    2018.02.10 01:51 # 回复
    1楼
    • @hardrain WordPress 修改管理页面登录地址—你说的是这个?双重密码,不能访问很正常吧?

      2018.02.10 08:32 # 回复
      • @老杨 我说的完全不是一回事
        我的意思是,如果有文章设了密码,wordpress会向/wp-login.php发一个请求来验证密码。
        而如果你对/wp-login.php设置了HTTP Auth,会导致访客输入密码时看到登陆窗口

        2018.02.11 15:43 # 回复

发表留言

彩蛋:Vultr 充 $5 送 $25,活动即将结束,快上车【点击查看】| 搬瓦工年付 $19 中国直连补货,优惠码:BWH1ZBPVK,『点击直达