Я использую HAProxy и обслуживаю через него различные службы и добавляю сертификат TLS для всех своих служб во внутренней сети. Некоторые из моих сетей, которые я хочу сделать доступными через домен, такой как internal.example.com, другие также должны быть доступны извне, например external.example.com.
Как мне этого добиться? Является ли src ACL правильной командой для этого? Я пробовал со следующей конфигурацией, но все по-прежнему доступно как внутри сети, так и снаружи.
интерфейс https
режим TCP
опция tcplog
привязать *:443 ssl crt /etc/haproxy/certs/example.com.pem
acl tls req.ssl_hello_type 1
als white_list src 127.0.0.1 <my_external_ip> # предположим, что это реальный публичный IP-адрес.
tcp-запрос проверка-задержка 5s
Содержимое tcp-запроса принимается, если tls
# Внешний
acl host_server_server1 ssl_fc_sni -i external.example.com
use_backend http_server_server1, если host_server_server1
# Внутренний
acl host_server_server2 ssl_fc_sni -i internal.example.com
use_backend http_server_server2, если host_server_server2 white_list
серверная часть http_server_server1
режим http
опцион вперед для
сервер сервер1 сервер1:3000
серверная часть http_server_server2
режим http
опцион вперед для
сервер сервер2 сервер2:3000