using variables in nginx.conf with 'set'
Arthur Blake
arthur.blake at gmail.com
Fri Oct 22 16:27:52 MSD 2010
It seems like the set command was designed for use in a narrow set of
circumstances. But I think it would be a lot more useful if the variables
it defines could be used globally with any directive.
I am trying to use the 'set' command in order to define my own variables
that define things that may vary by server in a main nginx.conf file so that
a generic reusable include file can later use those variables. It seems
that the variables only work in certain places with certain directives.
Is there a reason I can't use variables set this way more widely? I would
like to be able to use variables like this anywhere in the config files.
In the example below, I define two variables with the 'set' command,
$rootfolder and $backend.
The $rootfolder variable doesn't work with the include directive and the
$backend doesn't work with the proxy_pass directive.
But the $rootfolder does work with the $alias directive.
#main nginx.conf
server
{
listen 80;
server_name www.justatest.xxx
set $rootfolder /Development
set $backend http://127.0.0.1:8080
# This doesn't work!
# include $rootfolder/mytest/vhost.conf;
# have to use this instead
include /Development/mytest/vhost.conf;
}
#vhost.conf include
location /
{
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Rewrite-URL $request_uri;
# this doesn't work!
# proxy_pass $backend;
# have to use this instead
proxy_pass http://127.0.0.1:8080;
}
location /resources/
{
# this DOES work
alias $websites/www/resources/;
}
--Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx/attachments/20101022/7987846d/attachment.html>
More information about the nginx
mailing list