У меня есть следующая конфигурация nginx для аутентификации / запросов администратора:
location /admin {
auth_request /auth;
auth_request_set $auth_status $upstream_status;
error_page 401 = @error401;
}
location = /auth{
internal;
proxy_pass https://localhost/login/auth.php;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Original-URI $request_uri;
}
location @error401 {
return 302 /login/;
}
Кажется, что сам процесс аутентификации работает нормально.
Вопрос: Как мне войти в систему пользователя, который аутентифицирован в auth.php? Я попытался настроить заголовок в PHP следующим образом:
header("X-App-User: $user");
а затем в nginx.conf:
log_format combined_with_proto '$scheme $remote_addr $remote_user $sent_http_x_app_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
access_log /var/log/nginx/access.log combined_with_proto;
Однако это не похоже на работу — удаленный пользователь не зарегистрирован в access.log. Что я делаю неправильно?
Задача ещё не решена.
Других решений пока нет …