Я хочу добавить удаленный IP-адрес в качестве файла cookie в Nginx, чтобы его можно было передать в AWS Load Balancer для закрепления балансировщика нагрузки.
location / {
proxy_set_header Cookie "$http_cookie; ip=$remote_addr";
proxy_pass http://app_upstream;
}
Я использую их для установки файла cookie, но AWS ELB не воспринимает это как липкость. Поскольку этот сервер используется в качестве iframe, я не могу использовать файлы cookie, сгенерированные ELB, для балансировки нагрузки в случае Safari / iOs, которые по умолчанию блокируют сторонние файлы cookie.
Я готов отказаться от nginx и написать собственный обратный прокси.
Переменная $ http_ речь идет о заголовке http. Итак, если у вас есть $ http_host, он захватывает хост из заголовка. Если вы скажете $ http_cookie, вы получите файл cookie целиком.
Переменная $ cookie_ касается конкретного файла cookie. Итак, если у вас есть $ cookie_foo, вы получите значение cookie с именем foo, которое может быть bar.
Файлы cookie передаются автоматически, вам не нужно ничего делать с ними, если у них нет другого домена или пути. Если вы пытаетесь добавить конкретный файл cookie, это будет:
add_header Set-Cookie foo=bar;