nginx map Установка значения переменной. Примеры

Директива map позволяет вычислять значение переменной, используя какое-то другое значение, общий формат синтаксиса:

map строка $переменная { ... }

или если заменить официальные обознчения:

map ужеИзвестноеЗначение $имяПеременная { описаниеПравил }

-- при этом стоит отметить, что разработчики не рекомендуют использовать переменные просто для подстановки строк (/уменьшения дублирования кода).

Примеры работы с map

Используем значение по умолчанию:

   map $http_host $allow_origin{
    default 'hello!';
}

server {
    listen 80;
    server_name proxytest.loc;
    location / {
        #CORS
        add_header Access-Control-Allow-Origin $allow_origin;
    }
}

-- тут мы вычисляем значение переменной allow_origin на основании уже известного nginx-у значения переменной http_host, в которой содержится имя хоста из заголовков запроса.

Key Words for FKN + antitotal forum (CS VSU):

vedro-compota's picture

map $http_host $name {
hostnames;

default 'hello!';
}

server {
listen 80;
server_name proxytest.loc;
location / {
proxy_pass http://localhost:3011/;

#timeouts
proxy_read_timeout 2s;
proxy_connect_timeout 2s;
proxy_send_timeout 2s;

#CORS
add_header Access-Control-Allow-Origin $name;
}
}

_____________
матфак вгу и остальная классика =)