NGINX对公司IP网络放行:外网访问需要密码认证

01/06 13:15
阅读数 34

环境及需求概述:
自己搭建的博客,因为私密性,添加了auth_basic 认证,但是每次都输入用户和密码过于繁琐,想着平时在公司就不要输入密码进行验证了, 其他非公司网络访问时要输入验证码,比较完美~

nginx+tomcat 实现,因为代码是java
这里要说的是,java使用auth_basic,要在nginx 开启proxy_set_header Authorization ""; 参数,不然会报错401,

还有额外增加参数satisfy any; 这个参数很有必要,我之前反复试了很多种都是没有成功,添加后就成功了,
NGINX对公司IP网络放行:外网访问需要密码认证

nginx配置:
一个location 实现,18001 是java服务,
现在这个配置实现的是,在公司网络里,因为我允许了所以我不用输入密码就可以访问,而在家里或者其他地方就会进行auth_basic 验证。
location / {
satisfy any;
allow 1.119.197.184/29;
deny all;
proxy_pass http://localhost:18001;
client_max_body_size 100m;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Authorization "";
proxy_redirect off;
auth_basic "Login-Auth:";
auth_basic_user_file /data/nginx/conf/wiki-auth;
}















展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部