Sellerie-Blumen-Sicherheit in der Produktion
Ich bin auf der Suche zu verwenden, Blume (https://github.com/mher/flower) zu überwachen, meine Sellerie Aufgaben an die Stelle der django-admin als empfehlenswert in Ihre docs (http://docs.celeryproject.org/en/latest/userguide/monitoring.html#flower-real-time-celery-web-monitor). Allerdings, denn ich bin neu in diesem, ich bin ein wenig verwirrt über die Art, die Blume und die Seite ist nur auf HTTP und nicht HTTPS. Wie kann ich die Sicherheit für mein Sellerie Aufgaben, so dass alle alten user können nicht nur besuchen Sie die no-login-website benötigt http://flowerserver.com:5555 und etwas zu ändern?
Ich habe gedacht, dass Sellerie ist eigene Dokumentation auf, aber leider gibt es keine Erwähnung von wie zu sichern Blume api-oder web-ui. Alle es sagt: [Need more text here]
Dank!
Update: Meine Frage ist zum Teil ein Duplikat von hier: Wie kann ich Sie auf Authentifizierung hinzufügen und Endpunkt zu Django-Celery-Blume Überwachung?
Aber ich klären, seine Frage hier zu Fragen, wie es mit einer Umgebung mit nginx, gunicorn und Sellerie alle auf den gleichen remote-Maschine. Ich bin auch gefragt, wie das einrichten Blume ist außen zugängliche url, aber auch lieber sowas wie https anstelle von http, wenn möglich (oder einige Art und Weise der Sicherung der webui und Fernzugriff). Ich muss auch wissen, wenn Sie Blühen, laufen ist zu einem erheblichen Sicherheitsrisiko für alle, die sich Zugang zu Blumen-internen API und was der beste Weg für die Sicherung sein könnte, oder wenn es sollte nur deaktiviert werden, zusammen und benutzt Sie nur auf einer as-needed basis.
- Ich habe beschlossen, zu verwenden Gewebe, zum starten/stoppen der Flower-server über Upstart und erzeugen einen ssh-remote-port-Weiterleitung auf einer as-needed basis. Ich werde iptables blockieren Sie den port 5555 für alle, aber localhost. Ich wünschte, Blume, hatte Sicherheit, um remote-Zugriff zu erleichtern, aber es scheint, es hat keine. Vielen Dank an alle für die Hilfe.
- Es gibt einen Weg, um das setup Blume mit basic-Authentifizierung: flower.readthedocs.org/en/latest/..., und reverse proxy in Ihrem nginx-oder apache-Konfiguration mit ssl, auf diese Weise die Authentifizierung erfolgt über https.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie laufen Blume mit --auth-Flagge, die die Authentifizierung unter Verwendung einer bestimmten google-E-Mail:
Bearbeiten 1:
Neue version der Blume erfordert paar mehr Fahnen und eine eingetragene OAuth2-Client mit Google Entwickler-Konsole:
oauth2_redirect_uri
hat den eigentlichen Blumen-login-url, und es muss auch Hinzugefügt werden, um autorisierte Weiterleitungs-url in der Google-Entwicklung-Konsole.Leider ist diese Funktion nicht richtig funktioniert in der aktuellen stabilen version
0.7.2
, aber es ist nun fest in der Entwicklung der version0.8.0-dev
mit diesem Begehen.Edit 2:
Können Sie konfigurieren, Blume mit basic-Authentifizierung:
Dann blockieren Sie port 5555 für alle, aber localhost und konfigurieren von reverse proxy für nginx oder für apache:
Dann stellen Sie sicher, dass proxy-mod ist auf:
In Fall können Sie nicht setzen Sie ihn auf einer separaten subdomain, ex:
flower.example.com
(config oben), Sie können es sich fürexample.com/flower
:laufen Blume mit
url_prefix
:in der apache config:
Natürlich, stellen Sie sicher, dass SSL konfiguriert ist, ansonsten gibt es keinen Punkt 🙂
celery flower -A proj --address=127.0.0.1 --port=5555
Wollte ich die Blume auf ein Unterverzeichnis meines Webservers, also meine nginx-reverse-proxy-Konfiguration sah wie folgt aus:
Nun kann ich die Blume (Kennwort-geschützt) über http://www.example.com/flower
Meisten dieser ist abgeleitet von der Blume Dokumentation Seite zum konfigurieren eines nginx-reverse-proxy:
http://flower.readthedocs.org/en/latest/reverse-proxy.html
Yep, es gibt nicht auth auf der Blume, da es gerade im Gespräch mit dem Makler, aber wenn man es über SSL basic-auth sollte gut genug sein.
Wie würde HTTP und HTTPS beeinflussen Sellerie Sicherheit? Was die Benutzer-logins beziehen Sie sich?
Blume Monitore an einem Sellerie-Warteschlange durch die Anbindung an die Arbeiter. Beim einrichten der Blume, die Sie brauchen, um stellen Sie die Verbindung string [broker]://[Benutzername]:[Passwort]@[database_address]:[port]/[- Instanz]. Benutzername und Kennwort sind die Anmeldeinformationen zum einloggen in die Datenbank Ihrer Wahl.
Wenn Sie unter Bezugnahme auf diese Anmeldung, würde nicht einfach deaktivieren/entfernen Sie Ihre Anmeldungen werden ausreichen?