사용자가 올바르게 로그인 한 경우 결과를 기반으로 변수 값을 설정하려고합니다.이 변수를 조건부 SSI에 사용합니다. 사용자를 승인하려면 auth_request module
을 사용하고 있습니다. 이 권한은 모든 페이지에서 발생합니다. 내가 직면 한 문제는 401/403 오류의 경우 NGINX가 401
을 클라이언트에 전달한다는 것입니다. 내가 원하는 것은 어쨌든 (권한 부여가 실패하더라도) 일부 페이지를 보여주고 조건부 SSL에 대한 변수를 하위 요청 상태로 설정하는 것입니다.하위 쿼리를 기반으로 변수 값을 설정하는 방법
location/{
set $auth_status 100; #Default Value
error_page 401 403 $show_anyway;
error_page 500 = /auth_fallback;
auth_request /auth_public;
auth_request_set $auth_status $upstream_status;
auth_request_set $show_anyway $request_uri;
}
location = /auth_public
{
proxy_pass http://localhost:8081;
proxy_pass_request_body off;
#return 200; #Tried this, but sub request doesn't fire.
}
필자는'auth_request_set' 및'error_page' 지시자가 필요합니다. –
@AlexeyTen, 일부 error_page를 표시하고 싶지 않습니다. 어쨌든 변수 세트를 사용하여 요청한 페이지를 표시하려고합니다. – RijulB