Оригинальный ответ
Браузер автоматически отклонит любой домен, который не состоит из двух частей.Таким образом, использование .local
вообще не считается доменом.Вам нужно минимум два уровня.Рассмотрим приложение колбы, которое я создал для демонстрации того же самого
from flask import Flask, request, make_response
app = Flask(__name__)
@app.route("/")
def index():
resp = make_response()
resp.set_cookie('value1', ".frontend.local", domain=".frontend.local")
resp.set_cookie('value2', "frontend.local", domain="frontend.local")
resp.set_cookie('value3', ".local", domain=".local")
return resp
app.run(debug=True)
. Теперь тестируем это с помощью curl
$ curl -v frontend.local:5000
* Rebuilt URL to: frontend.local:5000/
* Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to frontend.local (127.0.0.1) port 5000 (#0)
> GET / HTTP/1.1
> Host: frontend.local:5000
> User-Agent: curl/7.54.0
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Content-Type: text/html; charset=utf-8
< Set-Cookie: value1=.frontend.local; Domain=.frontend.local; Path=/
< Set-Cookie: value2=frontend.local; Domain=frontend.local; Path=/
< Set-Cookie: value3=.local; Domain=.local; Path=/
< Content-Length: 0
< Server: Werkzeug/0.14.1 Python/3.6.5
< Date: Tue, 29 May 2018 12:58:20 GMT
<
* Closing connection 0
. Когда вы просматриваете это в браузере, вы можете видеть, что cookie с Domain=.local
удаляется, но остальные 2 остаются
И позже вы можете видеть, что оба куки были отправлены для перезагрузки одной и той же страницы
Обновление 1: 30 мая 2018 года
Поскольку вы используете 2 разных домена, вы должны использовать frontend.local.com
и backend.local.com
и файлы cookie должны быть возвращены с доменом как .local.com
, чтобы backend
и frontend
работали как поддомен local.com
.Затем frontend.local.com
получает файлы cookie, установленные backend.local.com
, через общий доступ к домену, если для домена cookie установлено значение .local.com
.