ฉันใช้ 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-request ตรวจสอบ-delay 5 วินาที
เนื้อหาคำขอ 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