我有一个 Flask 服务器和 nginx 处理传入的连接。当我使用 https 调用 Flask api 的特定方法时,它工作正常,问题是当 nginx 从 http 重定向到 https 并且 python 调用中包含的数据丢失时。
NGINX 配置文件:
server {
server_name myurl.com;
listen 80;
location / {
return 301 https://myurl.com$request_uri;
}
}
server {
server_name myurl.com;
listen 443 ssl;
add_header Strict-Transport-Security "max-age=31536000";
ssl_certificate /etc/letsencrypt/live/myurl.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/myurl.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
include uwsgi_params;
uwsgi_pass flask_server:5555;
}
}
Python 调用:
from requests import get
token = {'token': 'thetoken1234'}
data={'kms': '80000'}
response = get('http://myurl.com/evaluate_car', headers=token, data=data).json()
调用 https 版本的 url 工作正常,但在 http 情况下,数据字典中的“kms”变量会丢失。
我需要在 NGINX 配置文件中包含什么来保存此数据字典?