Задать вопрос
@Romo4ka_eto_ia
Просто человек

Как перенести куки через nginx?

Здравствуйте, есть 2 сайта: sub.domain.ru и domain.ru, оба стоят на одной машине на nginx. Нужно чтобы при заходе на любой из сайтов, куки были одинаковые. Например сайт sub.domain.ru поставил куки session. Человек перешел на сайт domain.ru и эти же куки были там.
  • Вопрос задан
  • 638 просмотров
Подписаться 5 Средний Комментировать
Решения вопроса 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
Это вообще-то не к nginx вопрос. Решение о том, какие куки принимать в рассмотрение и передать в запросе к тому или иному домену, принимает браузер, и он должен это делать в соответствии с RFC 6265 (не путать с устаревшими RFC 2109, 2965, там есть отличия).

Если коротко, то sub.domain.com может поставить куку как на sub.domain.com, так и просто на domain.com (в этом случае она будет также действовать на все поддомены одного уровня с sub.domain.com). Но domain.com не может поставить куку на домен com, потому что в домене должна быть минимум одна точка (такая защита).

Для экспериментов можно поиграться с куками вот в этой песочнице с субдоменами: https://scripts.cmbuckley.co.uk/cookies.php и посмотреть
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
ivankprod
@ivankprod
Системный / веб fullstack-разработчик
@Vasili78
На уровне fpm можно прописать
phpvalue[session.cookiedomain] = ".domain.ru"
Сессия будет переноситься.

Или в момент авторизации можно прогнать по всем поддоменам, установив куку, и вернуть на нужный поддомен.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы