nginx代理请求以身份验证http请求中的标头值进行服务

卢卡·马齐(Luca Marzi)

这是我想要实现的:

在此处输入图片说明

我想使用nginx作为经典的反向代理来公开服务器的资源。在调用服务器之前,nginx应该向令牌发行者(内部服务)请求一个令牌,并将该令牌注入对服务器的调用的身份验证头中。

使用nginx可以实现这一目标吗?我在Nginx文档中四处查看,我知道可以proxy_set_header用来修改代理到服务器的标头。

更新资料

我能够解决以下问题;这是github上的POC

伊万·沙茨基(Ivan Shatsky)

如果您可以让令牌发行者通过某个HTTP标头返回令牌,例如X-JWT-Token,这是一个适合您的示例:

location /auth {
    internal;
    proxy_pass http://token-issuer;
    proxy_pass_request_body off;
    proxy_set_header Content-Length 0;
    # You can pass an additional data for the token issuer, for example
    # proxy_set_header X-Original-URI $request_uri;
}
location / {
    auth_request /auth;
    auth_request_set $token $upstream_http_x_jwt_token;
    proxy_set_header Authorization "Bearer $token";
    proxy_pass http://upstream;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

客户端身份验证方案“基本”未授权HTTP请求。从服务器收到的身份验证标头是“ Basic realm =“ xyz””

来自分类Dev

Soap身份验证标头和使用PHP的请求

来自分类Dev

Soap身份验证标头和使用PHP的请求

来自分类Dev

具有标头身份验证的跨域请求

来自分类Dev

为什么我的REST服务.NET客户端发送不带身份验证标头的每个请求,然后使用身份验证标头重试?

来自分类Dev

从Nginx代理服务器转发请求标头

来自分类Dev

使用身份验证标头android在发布请求中添加正文

来自分类Dev

如何将身份验证标头添加到axios挂钩请求中?

来自分类Dev

如何为经过身份验证的 API GET 请求设置请求标头

来自分类Dev

具有基本身份验证的 HTTP 请求返回 401 - Angular 4 上的标头问题

来自分类Dev

代理身份验证和节点请求

来自分类Dev

使用Java http请求进行Twitch身份验证

来自分类Dev

如何在ember-simple-auth中的后续请求中将身份验证令牌添加为标头?

来自分类Dev

如果我不想切换到其他库,如何从doGet请求中获取“身份验证”标头?

来自分类Dev

带有附加 http 标头的 WordPress 反向代理身份验证

来自分类Dev

使用标头“ origin”验证HTTP请求

来自分类Dev

绕过“选项请求”的身份验证(因此,所有标头均在响应中发送)

来自分类Dev

带有身份验证标头的Java Jersey HTTPS GET请求

来自分类Dev

灰烬简单身份验证:如何设置/发送多个请求标头?

来自分类Dev

ServiceStack,身份验证和带有请求的传递会话标头

来自分类Dev

未使用Axios PUT请求设置身份验证标头

来自分类Dev

如何对REST中的每个请求强制进行身份验证?

来自分类Dev

摘要身份验证请求中的 HTTP 无授权字段

来自分类Dev

使用Nginx反向代理服务器隐藏客户端请求标头

来自分类Dev

MSAL js,AAD B2C多因素身份验证,400错误请求,请求标头过长

来自分类Dev

后续请求的基本HTTP身份验证

来自分类Dev

使用BasicHttpBinding和Authorization标头对WCF服务进行身份验证

来自分类Dev

HTTP请求标头

来自分类Dev

使用Firebase机密使用HTTP POST请求对Firebase服务器端进行身份验证

Related 相关文章

  1. 1

    客户端身份验证方案“基本”未授权HTTP请求。从服务器收到的身份验证标头是“ Basic realm =“ xyz””

  2. 2

    Soap身份验证标头和使用PHP的请求

  3. 3

    Soap身份验证标头和使用PHP的请求

  4. 4

    具有标头身份验证的跨域请求

  5. 5

    为什么我的REST服务.NET客户端发送不带身份验证标头的每个请求,然后使用身份验证标头重试?

  6. 6

    从Nginx代理服务器转发请求标头

  7. 7

    使用身份验证标头android在发布请求中添加正文

  8. 8

    如何将身份验证标头添加到axios挂钩请求中?

  9. 9

    如何为经过身份验证的 API GET 请求设置请求标头

  10. 10

    具有基本身份验证的 HTTP 请求返回 401 - Angular 4 上的标头问题

  11. 11

    代理身份验证和节点请求

  12. 12

    使用Java http请求进行Twitch身份验证

  13. 13

    如何在ember-simple-auth中的后续请求中将身份验证令牌添加为标头?

  14. 14

    如果我不想切换到其他库,如何从doGet请求中获取“身份验证”标头?

  15. 15

    带有附加 http 标头的 WordPress 反向代理身份验证

  16. 16

    使用标头“ origin”验证HTTP请求

  17. 17

    绕过“选项请求”的身份验证(因此,所有标头均在响应中发送)

  18. 18

    带有身份验证标头的Java Jersey HTTPS GET请求

  19. 19

    灰烬简单身份验证:如何设置/发送多个请求标头?

  20. 20

    ServiceStack,身份验证和带有请求的传递会话标头

  21. 21

    未使用Axios PUT请求设置身份验证标头

  22. 22

    如何对REST中的每个请求强制进行身份验证?

  23. 23

    摘要身份验证请求中的 HTTP 无授权字段

  24. 24

    使用Nginx反向代理服务器隐藏客户端请求标头

  25. 25

    MSAL js,AAD B2C多因素身份验证,400错误请求,请求标头过长

  26. 26

    后续请求的基本HTTP身份验证

  27. 27

    使用BasicHttpBinding和Authorization标头对WCF服务进行身份验证

  28. 28

    HTTP请求标头

  29. 29

    使用Firebase机密使用HTTP POST请求对Firebase服务器端进行身份验证

热门标签

归档