Я пытаюсь открыть ssl-порт RabbitMQ через ingress- nginx tcp-services примерно так:
$ cat rabbit-expose-amqps.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: tcp-services
namespace: ingress-nginx
data:
5671: "dev/rabbitmq-rabbitmq-ha:5671"
(служба RabbitMQ уже прослушивает этот порт) но и любая попытка выполнить openssl s_client -connect my-external-host:5671
по тайм-ауту, и, конечно, любая попытка подключиться к amqps://my-extrenal-host:5671
с использованием amqplib также. Однако интерфейс управления работает, поэтому я знаю, что внешний IP-адрес правильный.
Кажется, что nginx .conf в моем модуле входа - nginx обновляется, но что-то странное (я думаю) : он ДЕЙСТВИТЕЛЬНО настраивает прослушиватель на порт 5671, но восходящий поток все еще говорит «заполнитель» с адресом 0.0.0.1:1234. Я даже переработал пакет, на всякий случай, все тот же файл conf:
stream {
upstream upstream_balancer {
server 0.0.0.1:1234; # placeholder
balancer_by_lua_block {
tcp_udp_balancer.balance()
}
}
...
# TCP services
server {
preread_by_lua_block {
ngx.var.proxy_upstream_name="tcp-dev-rabbitmq-rabbitmq-ha-5671";
}
listen 5671;
proxy_timeout 600s;
proxy_pass upstream_balancer;
}
}
Как правильно применить tcp-сервисы?