来自外部服务的nginx身份验证

时间:2018-02-22 16:19:35

标签: authentication nginx post reverse-proxy access-token

我的目标是仅对经过身份验证的用户启用对一个(静态)网页/文件夹的访问权限。 auth_basic不是选项。

有2台服务器:nginx(包含http,css和javascript)和REST服务器(进行身份验证并提供安全内容)。 REST服务器提供访问令牌。

在www.somesite.com/secret(由nginx托管)应该只访问经过身份验证的用户。 我尝试过类似于https://www.nginx.com/resources/admin-guide/restricting-access-auth-request/

的内容

这是我的配置示例:

location /secret/ {
           auth_request        /restauth;
           auth_request_set $auth_status $upstream_status;
    }
    location /restauth/ {
        internal;
        proxy_pass              http://localhost:8080/api/auth/login;
        proxy_pass_request_body off;
        proxy_set_header        Content-Length "";
        proxy_set_header        X-Original-URI $request_uri;
    }

这样,只发送GET请求,REST服务仅支持POST。

如何使用访问令牌发送POST,并使用代码200来访问/ auth文件夹的内容?

我发现的另一个有趣的事情是nginscript,但是这个网站上的这个简单示例对我不起作用。

0 个答案:

没有答案