Декоратор на VDS не видит заголовок
Написал декоратор на проверку секретного ключа в заголовке.
Тестирую через Postman:
- на локальной машине все прекрасно отрабатывает
- на VDS декоратор не видит содержимое заголовка
Даже в обратку кинул и там не видно того, что я отправляю в заголовке. Куда копать?
import functools
from flask import request, jsonify
def wrapers_api_key(func):
"""Проверяет наличие и валидность секретного ключа в заголовке"""
@functools.wraps(func)
def verification_root_wraper(*args, **kwargs):
if (SECRET_KEY_API := request.headers.get('SECRET_KEY_API', None)) is None or SECRET_KEY_API != \
app.config['SECRET_KEY_API']:
return jsonify({'error': 'Access is denied',
'request.headers': str(request.headers)})
return func(*args, **kwargs)
return verification_root_wraper
@app.route('/api/test', methods=['POST'])
@wrapers_api_key
def api_test():
if request.method == "POST":
return jsonify({'status': True})
UPD (Конфиг Nginx):
server {
listen 80;
server_name DOMEN.ru www.DOMEN.ru;
return 301 https://$host:443$request_uri;
include /etc/nginx/snippets/error_page.conf;
}
server {
listen 443 ssl;
server_name DOMEN.ru www.DOMEN.ru;
ssl on;
ssl_certificate /etc/letsencrypt/live/DOMEN.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/DOMEN.ru/privkey.pem;
location / {
include proxy_params;
proxy_pass http://unix:/home/USER_DIR/APP_DIR/APP.sock;
}
include /etc/nginx/snippets/error_page.conf;
}
UPD2: Содержимое proxy_params:
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
Содержимое error_page.conf
error_page 413 /413.html;
location = /413.html {
root /usr/share/nginx/html;
internal;
}
Источник: Stack Overflow на русском