一个“有趣”的问题,而不是在生产中无法克服的东西,但是我一直在试图find一种方法来扩展其他variables的variables。 例如:在下面的代码块中,我在auth_request的后面设置了一个上游variables。
我的auth_request uwsgi应用程序将尝试多个身份validation方法,根据API的可用性,如果没有当前会话,将redirect到多个login应用程序之一。 特定的login应用程序URL在auth尝试后作为forward_to头被返回,然后nginx将302那个URL。
我想在这个头文件中提供nginxvariables,比如$scheme://$host$uri并且让它们用redirect来扩展,但是在这个例子中,redirect是指向文本stringhttps://example.com/login?referrer=$scheme://$host$uri
而不是扩展到https://example.com/login?referrer=https://example.com/page 。
那么,你有什么想法或想法如何实现呢?
# Authenticate requests. auth_request /auth/; auth_request_set $forward_to $upstream_http_forward_to; # forward_to set to https://example.com/login?referrer=$scheme://$host$uri string error_page 401 =302 $forward_to; # Hope variables expand # Authentication handler. location /auth/ { uwsgi_pass unix:/tmp/auth.sock; include uwsgi_params; uwsgi_param SCRIPT_NAME /auth; }
干杯!