Я испробовал все возможные решения, показанные в предыдущем Stackoverflow, но у меня все еще возникают трудности.
Мой статический JS выполняет ajax-запрос к /learn
, который использует redirect(url_for('somewhere',_external=True))
в моем приложении Flask.Все в порядке, когда запускается на локальном хосте, просто глючит за nginx и gunicorn.
@app.route('/learn', methods=["POST"])
def learn():
return redirect(url_for('somewhere',_external=True))
@app.route('/somewhere')
def somewhere():
return 'somewhere'
Я пытался использовать ProxyFix
middleware, используя app.wsgi_app = ProxyFix(app.wsgi_app)
.
Мой nginx conf (мой серверпрослушивает 443)
location /my/flask/app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host // I've tried just $host:$server_port also
proxy_set_header X-Real_IP $remote_addr;
proxy_pass http://127.0.0.1:8002;
proxy_set_header X-NginX-Proxy true;
}
Я использую Gunicorn через
gunicorn -b 127.0.0.1:8002 -e SCRIPT_NAME=/my/flask/app --chdir /my/flask/app app:app