Nginx 如何代理需要验证的地址 http://user:password@host/

2019-12-06 16:31:05 +08:00
 aoscici2000
server {
    listen       80;
    server_name  localhost;

    location /sk {
        proxy_pass       http://host:9000/xxx;
        proxy_set_header Authorization "Basic Z3Vlc3Q6Z3Vlc3Q";
    }

返回: 400 Bad Request nginx 日志: No connection could be made because the target machine actively refused it

直接写 proxy_pass http://user:password@host:9000/xxx; nginx 甚至无法启动

代理这种需要验证的地址, 该怎么配置的?

4072 次点击
所在节点    NGINX
9 条回复
znnspace
2019-12-06 17:21:18 +08:00
aoscici2000
2019-12-06 17:47:03 +08:00
@znnspace 不是这个吧, 我要的是代理的目标网站设置了验证, 不是需要设置验证
sleepm
2019-12-06 17:53:43 +08:00
nginx 只管代理过去,响应回来验证还是要访客去输入的
aoscici2000
2019-12-06 18:14:44 +08:00
@sleepm 那直接提供密码不能由 nginx 去做验证吗, 假设我要用消息队列的话, nginx 不能直接把请求送进队列也有点说不过去啊?
Vegetable
2019-12-06 18:16:16 +08:00
确定不是 token 写错了?
rubycedar
2019-12-06 18:24:52 +08:00
看上游的 log 啊
aoscici2000
2019-12-06 18:25:55 +08:00
@Vegetable 没写错,故意写个错的反而能正常返回提示信息...
sleepm
2019-12-06 19:38:30 +08:00
@aoscici2000 那你请求 nginx 的时候带上认证的头不就行了,nginx 一块转发了
mikeguan
2019-12-07 11:51:09 +08:00
搜索的是需要 user:passwd 进行 base64,看你的配置也不像是 base64

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/626577

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX