Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Seler daje reset połączenia przez peer

Znalazłem Connection rest przez błąd peera i założyłem, że RabbitMQ nie nasłuchuje na porcie lub blokuje go zapora sieciowa. Tak nie było.

Uruchamianie RabbitMQ na Ubuntu 16.04.2 LTS, wersja instalowana przez apt:3.5.7-1ubuntu0.16.04.1

Wynik 'netstat -a' dla portu 5672 Rabbita wyglądał następująco:

$ netstat -a|grep -i amqp
tcp6       0      0 [::]:amqp               [::]:*                  LISTEN

Jednak Rabbit w rzeczywistości nasłuchiwał zarówno adresu IPv4, jak i adresu IPv6. Zweryfikowałem to za pomocą netcata.

Aby połączyć się z Rabbit z innej maszyny, musisz skonfigurować konto użytkownika za pomocą następujących poleceń:

sudo rabbitmqctl add_user celery celerypassword
sudo rabbitmqctl add_vhost celery_vhost
sudo rabbitmqctl set_user_tags celery celerytag
sudo rabbitmqctl set_permissions -p celery_vhost celery .* .* .*

Problemem był mój adres URL. Mój wyglądał tak:

BROKER_URL = 'amqp://celery:[email protected]//'

Po tym przedostatnim ukośniku jest nazwa vhosta. Powyżej nadałem mojemu vhostowi nazwę celery_vhost. Aby się połączyć, musiałem zmienić adres URL na:

BROKER_URL = 'amqp://celery:[email protected]/celery_vhost'

Odkryłem to, patrząc na logi Rabbit w /var/log/rabbitmq. Istnieje plik .log, który zawiera następujący błąd, gdy mam zły adres URL:

{handshake_error,opening,0,
{amqp_error,access_refused,
"access to vhost '/' refused for user 'celery'",
'connection.open'}}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak mogę uzyskać wartość z Redis i umieścić ją w zmiennej w NGiNX?

  2. Czy mogę połączyć się bezpośrednio z serwerem Redis z JavaScript uruchomionego w przeglądarce?

  3. Kopie zapasowe AOF i RDB w redis

  4. Redis:Zwróć wszystkie wartości przechowywane w bazie danych

  5. nginx uwsgi websockets 502 Bad Gateway upstream przedwcześnie zamknięte połączenie podczas odczytu nagłówka odpowiedzi z upstream