Я пишу приложение на flask. Тестовый код для установки и получения cookie-файлов:
from flask import Flask, make_response, render_template
from flask import request
from flask import Response
from flask import jsonify
application = Flask(__name__)
@application.route("/")
def index():
resp = make_response("Setting cookie")
resp.set_cookie("test", "hw", max_age = 3090, path='/', domain="127.0.0.1")
return resp
@application.route("/test")
def test():
return jsonify(request.cookies)
if __name__ == "__main__":
application.run(host='127.0.0.1')
. И если я запустил его без nginx (только на порту 5000 из командной строки), я смогу увидеть, что набор cook ie установлен, но как только я оставлю это за nginx, куки-файлы откажутся устанавливать. Моя nginx конфигурация
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
location /static {
alias /srv/HackerNews/news/static/;
}
location /users {
include uwsgi_params;
uwsgi_pass unix:/srv/HackerNews/backend/service.sock;
uwsgi_param SCRIPT_NAME /users;
}
location / {
include uwsgi_params;
proxy_cookie_path / /;
uwsgi_pass unix:/srv/HackerNews/backend/service.sock;
uwsgi_param SCRIPT_NAME /;
}
}
Я часами гуглял (где я узнал о proxy_cookie_path), но у меня ничего не получалось. Единственные другие SO вопросы, которые я нашел, были похожи go без ответа. Кто-нибудь может помочь?