Конфигурация Nginx: - Невозможно разрешить хост RabbitMQ-2A.

У меня есть конфигурация nginx для создания кластера RabbitMQ, внутри которого работают 3 контейнера, такие как RabbitMQ-2A, RabbitMQ-2B и RabbitMQ-2C. (Таким образом, имена хостов настраиваются в Docker Compose, как Rabbitm-2A), но хост nginx разрешает имена хостов только в нижнем регистре (rabbitmq-2a).

Итак, я не могу переименовать хост, потому что сообщения уже находятся в очереди (не хочу терять существующие сообщения).

Файл создания Docker docker-compose-rabbitmq.yml

      version: "3.2"

services:
  rabbitmq-2A:
    image: rabbitmq:3-management-alpine
    hostname: rabbitmq-2A

  rabbitmq-2B:
    image: rabbitmq:3-management-alpine
    hostname: rabbitmq-2B

  rabbitmq-2C:
    image: rabbitmq:3-management-alpine
    hostname: rabbitmq-2C
      
metricsTestA{
set $rabbitmqtest http://rabbitmq-2A;
proxy_pass $rabbitmqtest 
}

Это не решается, поскольку nginx пытается разрешить это, как будто Rabbitmq-2a (что очевидно) не является именем хоста.

Кроме того, я попытался настроить восходящий поток

      upstream backends {
    least_conn;

    server backends.example.com:8080 max_fails=3;
}

server {
    location / {
        proxy_pass http://backends;
    }
}

https://www.nginx.com/blog/dns-service-discovery-nginx-plus/ Кто-нибудь знает, как это пройти?

1 ответ

DNS нечувствителен к регистру (RFC 4343), так что это не проблема.

Я больше предполагаю, что имена хостов неверны.
Вот несколько советов:

  • Ваш nginx находится в том же пространстве имен?
    • В противном случае вам понадобится полное доменное имя вместо простого имени. Посмотрите файл kubernetes-config.
  • Использует ли nginx правильный DNS-сервер? Может ли он разрешить другие службы?

Редактировать

Судя по вашему последнему комментарию, я могу представить, в чем проблема.

Я думаю, что у тебя естьStatefulSet?
Тогда ваше имя хоста выглядит странно. Это должно быть что-то вродеrabbitmq-2A-1илиrabbitmq-1.

StatfulSetsимеют особое поведение в соответствии с именами хостов. Связанные документы: StatefulSets

Другие вопросы по тегам