【发布时间】:2021-11-07 05:34:57
【问题描述】:
我在一台机器上托管一个烧瓶应用程序,在不同的端口上有不同的烧瓶应用程序。在它们前面有 nginx,它充当反向代理,以便根据 url 前缀将请求重定向到正确的端口(即应用程序)。
例如,所有对my_ip/app1/.. 的请求都被重定向到my_ip:port1 等等。
我的烧瓶应用程序通过 gunicorn 运行。
我已将SCRIPT_NAME 变量设置为app1,应用程序内的所有链接都是相对链接,它们不包含前缀app1,但这是自动添加的,它们工作正常。
问题是我通过 jquery 发出的 get 和 post ajax 请求不会发生这种情况。
最初这些请求中的 url 只是相对路径,例如 distribution?a=1..,然后我将它们替换为 {{ url_for('distribution') }}?a=1..,但没有任何改变。
我不明白为什么 url_for 将前缀添加到头部中的 css 和 js 文件的链接,而不是 js 代码中的这些链接。
我希望有比对前缀进行硬编码更好的方法,这会降低代码的可移植性
【问题讨论】: