Настройка внешнего подключения RabbitMQ
Важно
Версия внешнего сервиса должна совпадать с версией, указанной в файле docker-compose.yml
.
Укажите в файле .env для следующих параметров значения, установленные вами при настройке RabbitMQ (ниже указаны значения по умолчанию):
RABBITMQ_DEFAULT_USER=testit RABBITMQ_DEFAULT_PASS=password RABBITMQ_DEFAULT_VHOST=testitrabbit RABBITMQ_DEFAULT_HOST=external-server (где external-server - ip-адрес или DNS-имя вашего сервера с RabbitMQ) RABBITMQ_DEFAULT_PORT=5672 RABBITMQ_AUTH_MODE=plain RABBITMQ_CLIENT_CERT_PATH=/etc/rabbitmq/ssl/client/testit.pfx #RABBITMQ_CLIENT_CERT_PASSPHRASE=
В файле
docker-compose.yml
закомментируйте секцию с сервисом rabbitmq, зависимости от него других контейнеров (все упоминания rabbitmq в блокахdepends_on
) иrabbit-volume
,rabbitmq-configuration-volume
,rabbitmq-certificates-volume
в спискеvolumes
.Перезапустите систему Test IT:
docker-compose -f docker-compose.yml --project-name prod up --detach --timeout 120 --remove-orphans
Настройка безопасного соединения
Подготовьте файлы сертификатов - корневой
ca.crt
, а также подписанные с помощью него сертификат и ключ сервераserver.crt
иserver.key
. CN сертификата сервера должен бытьminio
иavatars-minio
соответственно для сервисовminio
иavatars.minio
.Скопируйте файлы
server.crt
иserver.key
дляminio
иavatars.minio
в вольюмы:server_certs=$(docker inspect yourproject_minio-tls-volume --format '{{ .Mountpoint }}') cp server-minio.crt ${server_certs}/public.crt cp server-minio.key ${server_certs}/private.key server_certs=$(docker inspect yourproject_avatars.minio-tls-volume --format '{{ .Mountpoint }}') cp server-avatars-minio.crt ${server_certs}/public.crt cp server-avatars-minio.key ${server_certs}/private.key
Важно
При копировании файлы сертификатов переименовываются в
public.crt
иprivate.key
соответсвенно, так какminio
ожидает такие файлы в соответствии с документацией.Скопируйте файл сертификата CA, с помощью которого были выписаны сертификаты серверов, в вольюм
trusted-certificates-volume
:trusted_certs=$(docker inspect yourproject_trusted-certificates-volume --format '{{ .Mountpoint }}') cp ca.crt ${trusted_certs}/
Измените значения переменных для подключения к
minio
в файле.env
для использования HTTPS:... AWS_CONNECTION_STRING=https://minio:9000 ... AVATARS_AWS_CONNECTION_STRING=https://avatars-minio:9000 ...
Для того, чтобы изменения вступили в силу, перезапустите сервисы
minio
иavatars.minio
, а затем примените изменения в.env
с помощьюdocker-compose
:docker restart yourproject_minio_1 docker restart yourproject_avatars.minio_1 docker-compose -f docker-compose.yml --project-name yourproject up --detach --timeout 120
Cервисы
webapi
иavatars.api
также будут перезапущены с новой конфигурацией для подключения кminio
по HTTPS.