Nginx实现代理和用户验证
Posted 黑黑哈哈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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做反向代理负载均衡 Java怎么获取后端服务器获取用户IP