2014-10-20 9 views
7

tworzę vhost:Dostęp odmówił użytkownika RabbitMQ & selera

rabbitmqctl add_vhost test 

Następnie użytkownik:

rabbitmqctl add_user user 123456 

Wtedy biorę uprawnienia do tego użytkownika:

rabbitmqctl set_permissions -p test user "test" "test" "test" 

używam seler, w tasks.py:

app = Celery('tasks', broker='amqp://user:[email protected]/test', backend='amqp://user:[email protected]/test') 

Potem uruchom:

celery -A tasks worker --loglevel=info 

mam błąd:

amqp.exceptions.AccessRefused: Exchange.declare: (403) ACCESS_REFUSED - access to exchange 'celeryev' in vhost 'test' refused for user 'user' 

Jak to naprawić?

Dzięki!

Odpowiedz

9

Spójrz na set_permissions tutaj: https://www.rabbitmq.com/man/rabbitmqctl.1.man.html#Access%20control

Po wywołaniu set_permissions jesteś przejazdem „test” do skonfigurowania, czytać i pisać, dzięki czemu użytkownik będzie mógł korzystać tylko z kolejki/Exchange o nazwie " test”

również spojrzeć na ten link, a także: https://www.rabbitmq.com/access-control.html

+0

Dzięki. Próbuję z 'celeryev' w set_permissions i mam błąd z wymiany' reply.celery.pidbox', więc teraz używam ". *" I to działa. Czy to oszczędza, czy muszę użyć wyrażenia regularnego "seler"? – tim

+0

wyrażenie regularne musi pasować do nazwy kolejki/giełd, które planujesz utworzyć. –

0

Jeśli nadal masz błąd proszę sprawdzić, czy masz odpowiednie cytaty dwuosobowych (zdarzyło mi)

".*" 

zamiast

“.*” 

Aby mieć pewność, uprawnienia list od użytkowników w vhostpath (domyślnie /)

rabbitmqctl list_permissions -p/ 
Powiązane problemy