着信接続を処理する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()
URLのhttpsバージョンを呼び出すと正常に動作しますが、httpの場合、データ辞書の「kms」変数は失われます。
このデータ辞書を保存するには、NGINX設定ファイルに何を含める必要がありますか?