Nginx配置动态$ host ENV变量

时间:2019-07-04 08:09:02

标签: if-statement nginx server config

我正在寻找一种更好的方法来基于Nginx配置中的动态$ host值设置环境变量。可以使用什么正则表达式?

例如,$ preferred_hostid基于$ host具有不同的值。我可以使用if语句来设置其值。但是,主机值太多。

client1.shop.abc.com

client2.shop.abc.com

clientN.shop.abc.com

server{

listen 80 default_server;

set $preferred_hostid '.abc.com';
if ($host = 'client1.shop.abc.com'){
    set $preferred_hostid '.xyz.com'
}
if ($host = 'client2.shop.abc.com'){
     set $preferred_hostid '.lmn.com'
}
if ($host = 'client3.shop.abc.com'){
     set $preferred_hostid '.hij.com'
}
}

处理这种情况的更好方法是什么?谢谢

0 个答案:

没有答案