【发布时间】:2013-11-10 10:55:09
【问题描述】:
我希望使用 Flower (https://github.com/mher/flower) 来代替他们的文档 (http://docs.celeryproject.org/en/latest/userguide/monitoring.html#flower-real-time-celery-web-monitor) 中推荐的 django-admin 来监控我的 Celery 任务。但是,因为我是新手,所以我对 Flower 的页面仅基于 HTTP 而不是 HTTPS 的方式有点困惑。如何为我的 Celery 任务启用安全性,这样任何老用户都不能只访问不需要登录的网站 http://flowerserver.com:5555 并进行更改?
我已经考虑过 Celery 的 own documentation,但不幸的是,他们没有提到如何保护 Flower 的 api 或 web ui。它说的是:[Need more text here]
谢谢!
更新:我的问题部分与此处重复:How do I add authentication and endpoint to Django Celery Flower Monitoring?
但是,我在这里通过询问如何使用包含 nginx、gunicorn 和 celery 的环境运行它来澄清他的问题,这些环境都在同一台远程机器上。我也想知道如何设置 Flower 的外部可访问 url,但如果可能的话,我更喜欢 https 而不是 http(或某种保护 webui 并远程访问它的方式)。我还需要知道让Flower运行对于任何可能访问Flower的内部API的人来说是否是一个相当大的安全风险,以及保护它的最佳方法是什么,或者它是否应该完全禁用并仅在as-需要的依据。
【问题讨论】:
-
我决定使用 Fabric 通过 Upstart 启动/停止 Flower 服务器,并根据需要生成 ssh 远程端口转发。我将为除本地主机之外的所有人设置 iptables 阻止端口 5555。我希望 Flower 具有安全性以使远程访问更容易,但它似乎没有。感谢大家的帮助。
-
有一种方法可以使用基本身份验证设置Flower:flower.readthedocs.org/en/latest/…,并在您的nginx或apache配置中使用ssl设置反向代理,这样身份验证将通过https完成。
标签: django nginx celery flower