2014-10-20 7 views
7

creo vhost:Accesso negato per l'utente RabbitMQ e sedano

rabbitmqctl add_vhost test 

Poi utente:

rabbitmqctl add_user user 123456 

poi prendo autorizzazioni per l'utente:

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

Io uso di sedano, in tasks.py:

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

Poi ho eseguito:

celery -A tasks worker --loglevel=info 

devo errore:

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

Come risolvere questo?

Grazie!

risposta

9

Date un'occhiata a set_permissions qui: https://www.rabbitmq.com/man/rabbitmqctl.1.man.html#Access%20control

Quando si chiama set_permissions si sta passando "test" per configurare, leggere e scrivere, così l'utente sarà in grado di utilizzare solo una coda/scambio con il nome " test"

Inoltre, date un'occhiata a questo link così: https://www.rabbitmq.com/access-control.html

+0

Grazie. Provo con 'celeryev' in set_permissions e ho errori con lo scambio' reply.celery.pidbox', quindi ora uso '. *' E funziona. Salva o devo usare l'espressione regolare 'sedano'? – tim

+0

l'espressione regolare deve corrispondere al nome della coda/degli scambi che si intende creare. –

0

Se avete ancora l'errore si prega di controllare di avere doppi apici corretti (è successo a me)

".*" 

invece di

“.*” 

A dire il vero, la lista delle autorizzazioni degli utenti nel vostro vhostpath (per impostazione predefinita)/

rabbitmqctl list_permissions -p/