gpt4 book ai didi

nginx - Flask 和 nginx 路由

转载 作者:行者123 更新时间:2023-12-03 17:33:01 24 4
gpt4 key购买 nike

我已经配置了 nginx + uwsgi + flask ,现在我正在努力为我的 flask 定义的路由添加路径。基本问题是:它甚至可能吗?

假设我有一条路线 app.route('/login')我想配置 nginx 来访问这个路由,比如从地址 /api/login .

我当前的配置看起来像这样,但它不起作用

location = /api { rewrite ^ /api/; }
location /api { try_files $uri @api; }
location @api {
include uwsgi_params;
uwsgi_pass uwsgicluster;

proxy_redirect off;
proxy_set_header Host $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-Host $server_name;
}

谢谢你的帮助。

最佳答案

一个建议是将路由逻辑保留在您的应用程序中:

app.route('/api/login')

或者使用 '/api' 的 url_prefix 实现一个 'api' 蓝图:

文件:api/views.py
from flask import Blueprint, render_template, abort
from jinja2 import TemplateNotFound

api = Blueprint('api', __name__, url_prefix='/api')

@api.route('/', defaults={'page': 'index'})
@api.route('/<page>')
def show(page):
if page == 'login':
# do something
try:
return render_template('pages/%s.html' % page)
except TemplateNotFound:
abort(404)

文件:app.py
from flask import Flask
from .api import api

app = Flask(__name__)
app.register_blueprint(api)

关于nginx - Flask 和 nginx 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25666777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com