basic auth with rewrite issue
merlin corey
merlincorey at dc949.org
Tue Jan 19 00:27:43 MSK 2010
On Fri, Jan 15, 2010 at 6:28 PM, zlegein <nginx-forum at nginx.us> wrote:
> Hi all,
>
> We are using nginx-0.6.35 and we have a kludge of a set for one of our apps because it is only installed on one server in a pair. So we have an odd setup for it:
>
>
> server {
> listen 80;
> server_name dns.app1.com;
> rewrite ^(.*)$ http://dns.app1.com:8888$1 permanent;
> }
>
>
> Both servers have this configuration and it works. But now i want to introduce basic auth for the app, but i can not seem to get this to work:
>
>
> server {
> listen 80;
> server_name app-on-server-1.company.com;
> rewrite ^(.*)$ http://app-on-server-1.company.com:8888$1 permanent;
> location / {
> auth_basic "Restricted";
> auth_basic_user_file passfile
> }
> }
>
>
> I read in another post that auth and rewrite can't be setup like this. so now I am a bit stumped at how i would set this up. granted my knowledge in this area is thin.
>
> Ideally i would like to set something like this up where we don't deal with the permanent :8888 port on the url, but this doesn't seem to work. where both servers have this:
>
>
> server {
> listen 80;
> server_name dns.app1.com;
> location / {
> auth_basic "Restricted";
> auth_basic_user_file passfile;
> include /etc/nginx/common/proxy.conf;
> proxy_pass http://10.4.5.6:8888;
> break;
> }
> }
>
>
>
> Any help
>
> Thanks
>
> Zach
>
> Posted at Nginx Forum: http://forum.nginx.org/read.php?2,41891,41891#msg-41891
>
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx
>
Zach,
"rewrite ... permanent;" sends a location header to the client causing
them to redirect. Since you are redirecting all requests, the auth in
location / is never encountered. Instead, the auth should be located
in
app-on-server-1.company.com's configuration. Also note that NginX is
not meant to be a very good forward proxy if you are not in control of
the other server's configuration.
By the way, a slightly better way to rewrite all requests is like
this: "rewrite ^ http://destination$request_uri;". No need to capture
what is already captured ;).
Thanks,
Merlin
More information about the nginx
mailing list