回答
收藏
分享
举报
反向代理疑问
提问于2020-09-10 10:27

浏览 3.7k

  server {
auth_basic "Authentication Required";
auth_basic_user_file /etc/nginx/htpasswd.users;
location / {
proxy_pass http://192.168.72.209:5601;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_connect_timeout 300;
}
}


我把Nginx和上游的应用都安装在安装在同一台机器上了,使用相同的IP地址192.168.72.209,现在我通过IP地址进行访问,Nginx 密码认证框无法弹出。不知道什么原因。

已修改于2023-03-12 11:52



写下您的回答
发表回答
全部回答(3)

按点赞数排序

按时间排序

没太看懂,是在用auth_basic协议吗?那什么要升级HTTP协议呢?是升级到Websocket协议吗?

赞同

0

回复举报

回答于2020-09-17 14:19



回复陶辉
回复

是不是 认证的模块你没有添加

赞同

0

回复举报

回答于2020-09-15 13:44



回复雪地麋鹿
回复

建议可以先抓包看看。

赞同

0

回复举报

回答于2020-09-11 23:37



回复皮皮鲁
回复
提问者
浩聪
这家伙很懒还未留下介绍~
5
文章
15
问答
0
粉丝
相关问答

感谢陶辉老师详细的回复。 那就是对于HTTP1.0和HTTP1.1,具体使用哪个版本是服务器决定的。客户端没有选择的权力,极端的情况下如果浏览器不支持http1.0,那么就没有办法和服务器进行通信了?

点赞 0
浏览 3.9k

抓包对比下,包括:

1、不使用Nginx时,抓包看下Websocket的握手,包括在浏览器和Nginx上游服务上;

2、使用Nginx时,抓包看下Nginx上游服务。

从你的错误请求来看,貌似url的匹配出问题了,正常应该是返回101,但你返回 了404

点赞 0
浏览 6.2k

可以是可以,但得用NGINX的子请求机制,直接用指令是不行的,得用njs了,写JavaScript脚本,调用r.subrequest,分别请求后端,然后把数据整合一下。


可以参考NGINX官网上的njs文档,有很多示例。

点赞 0
浏览 3.4k