Nginx实现代理和用户验证
1.下载Nginx
首先去官网http://nginx.org/en/download.html下载需要的版本即可,无需安装,只需要打开nginx.exe文件,nginx.exe的服务就开启了。打开http://localhost/就可以看到nginx启动成功的信息。默认情况下nginx已经安装了ngx_http_auth_basic_module模块。
2.配置server
打开nginx.conf文件中,增加一个server的监控,代码如下:
server {
       #监听端口号
       listen       8081;
       auth_basic "config Auth";
       #密码地址
       auth_basic_user_file    D:\config.password;
       location / {
         #代理地址
           proxy_pass http://192.168.21.1:8088/;
           proxy_redirect default;
       }
   }
其中auth_basic_user_file可以使用htpasswd,或者使用openssl,htpasswd可以使用apach2-utils在linux生成。
添加完成之后,重新启动Nginx服务,这是打开相应的网站,就会弹出一个这样的输入框,输入响应的用户名和密码,即可访问网站。
输入相应的用户名和密码,即可访问网站。
3.401 Authorization Required问题
现在能访问静态页面,但是请求数据的接口会返回一个401 Authorization Required的错误回来,如下图,

这是由于接口没有配置相应的Authorization header,所以我们需要在请求的接口配置Authorization header,格式为‘Basic ’+用户名:密码,用户名:密码需要使用base64加密下,代码如下,
'Authorization':"Basic "+Base64.encode("test:123")
请求效果如下:

如果需要修改密码或是用户名,替换auth_basic_user_file 文件就可以了
Nginx实现代理和用户验证的更多相关文章
- nginx反向代理获取用户真实ip
		
nginx做反向代理时,默认的配置后端获取到的ip都是来自于nginx,如何转发用户的真实ip到后端程序呢?如是是java后端,用request.getRemoteAddr();获取到的是nginx的 ...
 - Nginx 反向代理接收用户包体方式
		
陶辉91课 如果proxy_request_buffering 设置为on的时候是等待nginx读取完包体后再发送上游服务器 一般依赖于nginx处理能力 client_body_in_file_o ...
 - 由Nginx反向代理引出的JCaptcha验证码验证失败的问题
		
搜索关键字: 1)Windows本地开发正常,部署到Linux远程服务器上JCaptcha验证失败 2)Linux远程服务器上JCpatcha验证失败 3)Nginx反向代理后JCaptcha验证失败 ...
 - nginx 反向代理 和lvs负载均衡
		
nginx反向代理:用户请求nginx代理服务器然后代理服务器将用户请求转为服务器再由nginx代理服务器将服务器的响应反应给用户. lvs负载均衡:用户请求nginx代理服务器然后代理服务器将用户请 ...
 - nginx 反向代理 负载均衡
		
nginx反向代理 用户(浏览器) 请求网站资源 -> 直接定位到django后台(所有的请求压力,都直接给了后台) django默认对并发性 很差,并且处理网页的静态资源,效率很差 10万个并 ...
 - 跨域问题,解决方案-Nginx反向代理
		
跨域问题,解决之道 跨域问题,在日常开发过程中,是一个非常熟悉的名词.今天的话题,结合我之前的项目场景,讨论下<跨域问题,解决之道>. 跨域是什么 跨域问题,是由于JavaScript出于 ...
 - 高级运维(二):搭建Nginx服务器、用户认证、基于域名的虚拟主机、SSL虚拟主机、Nginx反向代理
		
一.搭建Nginx服务器 目标: 在IP地址为192.168.4.5的主机上安装部署Nginx服务,并可以将Nginx服务器,要求编译时启用如下功能: 1> SSL加密功能 2> 设置Ng ...
 - 转:设置HtmlUnitDriver代理及处理用户验证有关问题
		
selenium2 提供了一种无ui模式的driver,即htmlunitdriver.特点运行比较快.其实htmlunitdriver 是对htmlunit 的封装,这样大家就可以使用自己习惯sel ...
 - Nginx反向代理+Tomcat+Springmvc获取用户访问ip
		
Nginx+Tomcat+Springmvc获取用户访问ip 1.Nginx反向代理 修改Nginx配置文件 location / { ***********之前代码*******; proxy_se ...
 
随机推荐
- CF960G Bandit Blues  【第一类斯特林数 + 分治NTT】
			
题目链接 CF960G 题解 同FJOI2016只不过数据范围变大了 考虑如何预处理第一类斯特林数 性质 \[x^{\overline{n}} = \sum\limits_{i = 0}^{n}\be ...
 - 【bzoj3730】 震波
			
http://www.lydsy.com/JudgeOnline/problem.php?id=3730 (题目链接) 题意 给出一棵树,每个节点又一个权值.两个操作,询问距离节点${x}$不超过${ ...
 - Mac上安装mariadb
			
1.查看mariadb包信息 # brew info mariadb mariadb: stable 10.2.6 (bottled) Drop-in replacement for MySQL ht ...
 - substring()方法到底做了什么?不同版本的JDK中是否有区别?为什么?
			
该文章是图说Java系列文章中的一篇 substring(int beginIndex, int endIndex)方法在jdk 6和jdk 7中的实现是不同的.了解他们的区别可以帮助你更好的使用 ...
 - 1:IMEI、MSISDN字段隐藏方法
			
1.在服务器上找到带有手机号码及IMEI的报表,下载到本地: 2.找到如下方框的表格列(例如:ID:104的报表):
 - OneProxy实现mysql读写分离
			
OneProxy for MySQL可以复用不同应用到后端数据库的连接,有效降低数据库的并发连接数:可以即时踢除不可用的节点,将应用请求转发到其他可用节点,保证业务服务的稳定性. 可透明地将查询语句分 ...
 - 重启电脑后,redis 6380端口关闭重启
			
zb@zb-computer:/usr/local/redis/etc$ /usr/local/redis/bin/redis-server redis.6380.conf &[1] 3062 ...
 - P3572 [POI2014]PTA-Little Bird
			
P3572 [POI2014]PTA-Little Bird 一只鸟从1跳到n.从1开始,跳到比当前矮的不消耗体力,否则消耗一点体力,每次询问有一个步伐限制k,求每次最少耗费多少体力 很简短的题目哼. ...
 - 题解 P2486 【[SDOI2011]染色】
			
写在前面 对于刚学树剖的同学比如我这种大大大蒟蒻来说,做这题会给你带来很大的提升:不仅可以对树剖有更深刻的理解,还可以更好的理解线段树,所以这是一道好题哦 为了更好懂,我一点一点说说思路吧 思路 首先 ...
 - SpringBoot实战:我们的第一款开源软件
			
原文出处: 纯洁的微笑 在信息爆炸时代,如何避免持续性信息过剩,使自己变得专注而不是被纷繁的信息所累?每天会看到各种各样的新闻,各种新潮的技术层出不穷,如何筛选出自己所关心的? 各位看官会想,我们是来 ...
 
			
		