Can I proxy_pass to a variable?

Boris Dolgov boris at dolgov.name
Mon May 10 10:01:13 MSD 2010


On Mon, May 10, 2010 at 7:54 AM, 任晓磊 <julyclyde at gmail.com> wrote:
> config:
> server {
>        listen [::]:80 default;
>        server_name _ ;
>        server_name_in_redirect off;
>        resolver 74.207.241.5;
>
>        access_log  off;
>
>        auth_basic      "Private proxy";
>        auth_basic_user_file /etc/nginx/auth_basic_user;
>
>        location /{
-                proxy_pass http://$http_host;
+                proxy_pass http://$http_host$uri;
>                proxy_set_header Host $http_host;
>                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>        }
> }
>
> error.log:
> 2010/05/10 11:02:25 [error] 31032#0: *45 zero length URI to proxy,
> client: ::ffff:124.205.200.99, server: _, request: "GET
> http://www.whatismyip.com/ HTTP/1.1", host: "www.whatismyip.com"
>
>
> If a specify an IP address or a domain name in proxy_pass, it worked.
> I use $http_host, it doesnt work. How can I do?
> # /usr/sbin/nginx -V
> nginx version: nginx/0.7.64
> TLS SNI support enabled
> configure arguments: --conf-path=/etc/nginx/nginx.conf
> --error-log-path=/var/log/nginx/error.log
> --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock
> --http-log-path=/var/log/nginx/access.log
> --http-client-body-temp-path=/var/lib/nginx/body
> --http-proxy-temp-path=/var/lib/nginx/proxy
> --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --with-debug
> --with-http_stub_status_module --with-http_flv_module
> --with-http_ssl_module --with-http_dav_module
> --with-http_gzip_static_module --with-mail --with-mail_ssl_module
> --with-ipv6 --add-module=/tmp/buildd/nginx-0.7.64/modules/nginx-upstream-fair
>
> --
> Ren Xiaolei
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx
>



-- 
Boris Dolgov.



More information about the nginx mailing list