我们使用nginx作为反向代理并启用了http_auth_request_module。我们希望将请求缓存到我们的身份验证服务器,以减少此服务器的负载。到目前为止,这是nginx配置:
server {
...
location /sso {
auth_request /identity;
proxy_pass http://localhost:8081;
}
location /identity {
internal;
proxy_pass http://localhost:8081;
proxy_cache_path /opt/nginx/cache levels=1:2 keys=authentication:1m;
proxy_cache authentication;
proxy_cache_key $cookie_authentication;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Original-URI $request_uri;
}
}
正在接受请求并且身份验证有效。但是没有任何内容写入缓存目录。 Nginx有足够的权限写入缓存目录:
drwxrwxrwx 2 nobody wheel 68B Jul 18 16:34 cache
如何从缓存中读取http_auth_request_module并让nginx将响应写入缓存?