V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
wayne630
V2EX  ›  NGINX

请教一个 nginx 302 跳转配置文件的写法问题

  •  
  •   wayne630 · 2020-03-20 22:14:35 +08:00 via iPhone · 2034 次点击
    这是一个创建于 1469 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一个需要身份认证的网站,用户一般都是以 https://username:[email protected]/test.htm 这样访问

    现需要做 302 跳转到 www.b.com ,但网上普遍的跳转写法都不带 username:password 这段的,导致用户跳转过去后提示 401 Unauthorized。请教怎样在 www.a.com 的 nginx 带用户名密码跳转到 www.b.com ,谢谢!
    7 条回复    2020-03-21 11:55:15 +08:00
    privil
        1
    privil  
       2020-03-20 22:42:56 +08:00
    = = 你这个要做的是反向代理,帮访问者去做这种用户认证才行的。
    also24
        2
    also24  
       2020-03-20 22:46:24 +08:00
    https://username:[email protected] 看起来属于 HTTP Basic Authentication 的一个已废弃用法:

    https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Authentication
    拉到最下面,看:使用 URL 中的身份凭证进行的访问(已废弃)
    also24
        3
    also24  
       2020-03-20 22:52:44 +08:00
    另外,如果只是希望携带 header 中的 Authorization 信息,也许可以使用 307

    但是 307 的实现各个浏览器都有不同,不清楚是否会一并转发 header
    arloor
        4
    arloor  
       2020-03-20 22:53:16 +08:00
    返回头带上 WWW-Authenticate: Basic realm=xxxx
    arloor
        5
    arloor  
       2020-03-20 22:54:21 +08:00
    HTTP/1.1 401 Unauthorized
    Date: Wed, 21 Oct 2015 07:28:00 GMT
    WWW-Authenticate: Basic realm="Access to staging site"

    https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status/401
    wayne630
        6
    wayne630  
    OP
       2020-03-21 08:30:19 +08:00 via iPhone
    好的,我先按以上方法试试,非常感谢大家!
    lance86
        7
    lance86  
       2020-03-21 11:55:15 +08:00
    这么搜关键词就行 nginx proxy_pass username password,谷歌,实在不行 bing 国际版也凑合。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1667 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 16:47 · PVG 00:47 · LAX 09:47 · JFK 12:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.