我的目标是仅对经过身份验证的用户启用对一个(静态)网页/文件夹的访问权限。 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,但是这个网站上的这个简单示例对我不起作用。