Two servers, one sign-in page?
Yongtao You
yongtao_you at yahoo.com
Wed Nov 16 01:39:47 UTC 2016
Hi,
I'm new to Nginx. I'm trying to configure Nginx as a reverse proxy to 2 backend services, as follows (see below). The backend1 server is already password protected, but backend2 is not. I'm trying to route backend2 sign-in to backend1 login page. The only thing that is not working is the following scenario:
1. Client tries to access localhost:81/some/resource without signing in first;2. Nginx redirect the client to localhost/login;3. After user signed in, it failed to redirect the user back to localhost:81/some/resource;
It seems the $http_referer is empty. How can I pass the original URL to the sign-in page so that it can redirect back? Here is my configuration:
http: { upstream backend1 { server 127.0.0.1:4000; }
upstream backend2 { server 127.0.0.1:5000; }
server { listen 80;
location / { proxy_pass http://backend1/; }
location = /login { proxy_pass http://backend1/login; proxy_set_header Cookie "redirect_to=$http_referer"; } }
server { listen 81;
location / { auth_request /auth-proxy; error_page 401 =302 http://localhost/login; proxy_pass http://backend2/; }
location = /auth-proxy { internal; ... ... } }}
Can someone please help?
Thanks!Yongtao
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20161116/721c502c/attachment.html>
More information about the nginx
mailing list