python - 用于评论应用的 Celery Flower NGINX 反向代理
问题描述
更新:我已经确定这不是 NGINX 的错,但我需要 NGINX 来修复它。详情在底部。
我正在尝试为我们创建的每个分支创建评论应用程序。我们使用 NGINX 作为我们的反向代理,使用 Celery 作为任务队列,使用 Flower 来监控任务。Flower 提供了一个url_prefix
参数https://flower.readthedocs.io/en/latest/config.html#url-prefix。
此前缀允许在非根 URL 上部署 Flower。换句话说,它允许我在反向代理后面部署花,而无需使用重写。
理想情况下,我们的 URL 方案应如下所示:
/flower/{branch_name} -> Dashboard
/flower/{branch_name}/ -> Same dashboard
/flower/{branch_name}/api/task/apply/examples.ping -> Task call
/flower/{branch_name}/api/task/apply/examples.ping/ -> Same task call
/flower/latest/ -> Latest build Dashboard
/flower/staging/ -> Staging Dashboard
/flower/v1/ -> Production Dashboard
我们当前的配置如下所示:
location ~ /flower/([a-zA-Z0-9]+)/? {
proxy_pass http://$1_flower:5555;
proxy_set_header Host $host;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
这目前有效 - 有点。
这些目前有效:
/flower/{branch_name}/
/flower/{branch_name}/api/task/apply/examples.ping
这些不会:
/flower/{branch_name}
/flower/{branch_name}/api/task/apply/examples.ping/
~~我很确定问题是我如何设置我的 NGINX 代理配置。~~
更新:我已经确定这不是 NGINX 的错,但我需要 NGINX 来修复它。
Flower 的 url_prefix 参数不明白
/flower/{branch_name}/
和
/flower/{branch_name}
是同一个端点。
我想我可以使用来自的重定向来解决这个问题
/flower/{branch_name}
至
/flower/{branch_name}/
有谁知道在不产生任务调用 URL 问题的情况下执行此操作的最佳实践?
解决方案
推荐阅读
- node.js - Sequelize gets stuck connecting to heroku postgres database
- python - 使用 python 将 DataTable 导出到 Outlook 邮件
- javascript - shopify 上的 Ajax 购物车折扣
- ubuntu - 我在并行积分计算程序中没有看到任何错误,但出现分段错误(代码 139),我该如何解决?
- angular - 扩展接口的可选泛型
- javascript - 通过 URL 传递参数将其显示为 [object object] 而不是字符串(打字稿)
- python - 修复损坏的 Anaconda 环境
- javascript - 如何从电子表格中获取数据并将其发送到 html 表格 googel script web
- python - 如果循环熊猫数据框字典
- c++ - QPushButton 在第二个布局中不可点击