Score:0

วิธีใช้ Haproxy สำหรับคำขอ https บนพอร์ตที่กำหนดเอง

ธง fr

เราต้องการใช้ haproxy ingress 1.7 บน kubernetes เพื่อฟังบนพอร์ต 55560 สำหรับการเชื่อมต่อ https

คุณช่วยในเรื่องนี้ได้ไหม

นี่คือไฟล์ haproxy.cfg ของฉัน เมื่อพยายามเข้าถึง ได้รับ curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL ในข้อผิดพลาดในการเชื่อมต่อ

Https บน 443 ใช้งานได้ดี

ความนับถือ, กัลยาณ

#_version=5
# HAProxy เทคโนโลยี
# https://www.haproxy.com/
# ไฟล์นี้ไม่ได้หมายถึงการเปลี่ยนแปลงโดยตรง
# อยู่ภายใต้การจัดการคอนโทรลเลอร์ haproxy ingress

ทั่วโลก 
  localpeer ท้องถิ่น
  นายคนงาน
  pidfile /var/run/haproxy.pid
  ซ็อกเก็ตสถิติ /var/run/haproxy-runtime-api.sock ผู้ดูแลระบบระดับผู้ฟัง expose-fd
  หมดเวลาสถิติ 1m
  tune.ssl.default-dh-param 2048
  ssl-default-bind-options no-sslv3 no-tls-tickets no-tlsv10
  ssl-default-bind-ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA -AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128 -SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA :DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES :!MD5:!ปสก
  บันทึก stdout จัดรูปแบบ raw daemon
  เซิร์ฟเวอร์สถานะไฟล์ทั่วโลก
  เซิร์ฟเวอร์สถานะฐาน /var/state/haproxy/

ค่าเริ่มต้น 
  เข้าสู่ระบบทั่วโลก
  รูปแบบบันทึก '%ci:%cp [%tr] %ft %b/%s %TR/%Tw/%Tc/%Tr/%Ta %ST %B %CC %CS %tsc %ac/%fc/ %bc/%sc/%rc %sq/%bq %hr %hs "%HM %[var(txn.base)] %HV"'
  ตัวเลือกการจัดส่งซ้ำ
  ตัวเลือก dontlognull
  ตัวเลือก http-keep-alive
  หมดเวลา http-request 5 วินาที
  หมดเวลาเชื่อมต่อ 5 วินาที
  ไคลเอนต์หมดเวลา 50 วินาที
  หมดเวลาคิว 5 วินาที
  เซิร์ฟเวอร์หมดเวลา 50 วินาที
  อุโมงค์หมดเวลา 1 ชม
  หมดเวลา http-keep-alive 1m
  โหลดเซิร์ฟเวอร์สถานะจากไฟล์ทั่วโลก

เพียร์โลคัลอินสแตนซ์ 
  เพียร์ท้องถิ่น 127.0.0.1:10000

ฟรอนท์เอนด์ healthz 
  โหมด http
  ผูก 0.0.0.0:1042 ชื่อ v4
  ผูก :::1042 ชื่อ v6 v4v6
  มอนิเตอร์-uri /healthz
  ตัวเลือก dontlog-ปกติ

http ส่วนหน้า 
  โหมด http
  ผูก 0.0.0.0:80 ชื่อ v4
  ผูก :::80 ชื่อ v6
  การเชื่อมต่อคำขอ tcp คาดหวังพร็อกซี layer4 ถ้า { src -f /etc/haproxy/maps/proxy-protocol-827c05ecc804eacf23a63899ca0ffcf6.map }
  ฐาน http-request set-var(txn.base)
  http-request set-var(txn.path) เส้นทาง
  http-request set-var(txn.host) req.hdr(โฮสต์),ฟิลด์(1,:),ต่ำกว่า
  http-request set-var(txn.host_match) var(txn.host), แผนที่(/etc/haproxy/maps/host.map)
  http-request set-var(txn.host_match) var(txn.host),regsub(^[^.]*,,),map(/etc/haproxy/maps/host.map,'') if !{ var (txn.host_match) -m พบ }
  http-request set-var(txn.path_match) var(txn.host_match),concat(,txn.path,),แผนที่(/etc/haproxy/maps/path-exact.map)
  http-request set-var(txn.path_match) var(txn.host_match),concat(,txn.path,),map_beg(/etc/haproxy/maps/path-prefix.map) if !{ var(txn.path_match ) -m พบ }
  use_backend %[var(txn.path_match),ฟิลด์(1,.)]
  default_backend default-default-ingress-default-backend-port-1

ฟรอนท์เอนด์ https 
  โหมด http
  ผูก 127.0.0.1:443 ชื่อ v4 ยอมรับพร็อกซี
  ผูก :: 1:443 ชื่อ v6 v4v6 ยอมรับพร็อกซี
  ฐาน http-request set-var(txn.base)
  http-request set-var(txn.path) เส้นทาง
  http-request set-var(txn.host) req.hdr(โฮสต์),ฟิลด์(1,:),ต่ำกว่า
  http-request set-var(txn.host_match) var(txn.host), แผนที่(/etc/haproxy/maps/host.map)
  http-request set-var(txn.host_match) var(txn.host),regsub(^[^.]*,,),map(/etc/haproxy/maps/host.map,'') if !{ var (txn.host_match) -m พบ }
  http-request set-var(txn.path_match) var(txn.host_match),concat(,txn.path,),แผนที่(/etc/haproxy/maps/path-exact.map)
  http-request set-var(txn.path_match) var(txn.host_match),concat(,txn.path,),map_beg(/etc/haproxy/maps/path-prefix.map) if !{ var(txn.path_match ) -m พบ }
  http-request set-header X-Forwarded-Proto https
  use_backend %[var(txn.path_match),ฟิลด์(1,.)]
  default_backend default-default-ingress-default-backend-port-1

ฟรอนท์เอนด์ ssl 
  โหมด tcp
  ผูก 0.0.0.0:443 ชื่อ v4
  ผูก :::443 ชื่อ v6 v4v6
  รูปแบบบันทึก '%ci:%cp [%t] %ft %b/%s %Tw/%Tc/%Tt %B %ts %ac/%fc/%bc/%sc/%rc %sq/% bq %hr %hs haproxy.MAP_SNI: %[var(sess.sni)]'
  เนื้อหาคำขอ tcp ปฏิเสธหาก !{ req_ssl_hello_type 1 }
  tcp-ขอตรวจสอบ-ล่าช้า 50,000
  การเชื่อมต่อคำขอ tcp คาดหวังพร็อกซี layer4 ถ้า { src -f /etc/haproxy/maps/proxy-protocol-827c05ecc804eacf23a63899ca0ffcf6.map }
  tcp-request content set-var(sess.sni) req_ssl_sni
  tcp-request content set-var(txn.sni_match) req_ssl_sni,map(/etc/haproxy/maps/sni.map)
  tcp-request content set-var(txn.sni_match) req_ssl_sni,regsub(^[^.]*,,),map(/etc/haproxy/maps/sni.map)
  use_backend %[var(txn.sni_match),ฟิลด์(1,.)]
  default_backend ssl

สถิติส่วนหน้า 
  โหมด http
  ผูก *:1024
  ผูก :::1024 ชื่อ v6
  เปิดใช้งานสถิติ
  สถิติ ยูริ /
  สถิติรีเฟรช 10 วินาที
  ฐาน http-request set-var(txn.base)
  http-ขอใช้บริการ prometheus-exporter ถ้า { เส้นทาง /ตัวชี้วัด }

ส่วนหน้า tcp-55560 
  โหมด tcp
  ผูก 0.0.0.0:55560 ชื่อ v4
  ผูก :::55560 ชื่อ v6 v4v6
  ตัวเลือก tcplog
  default_backend ค่าเริ่มต้นอย่างรวดเร็ว po บริการ 55560

แบ็คเอนด์เริ่มต้น-ic-http-service-80 
  โหมด http
  วงเวียนสมดุล
  ตัวเลือกไปข้างหน้าสำหรับ
  เริ่มต้นเซิร์ฟเวอร์ init-addr สุดท้าย libc ไม่มี
  เซิร์ฟเวอร์ SRV_1 xxxxxxxxxxxx.com:80 ตรวจสอบน้ำหนัก 128

แบ็คเอนด์เริ่มต้นค่าเริ่มต้นขาเข้าเริ่มต้นแบ็คเอนด์พอร์ต-1 
  โหมด http
  วงเวียนสมดุล
  ตัวเลือกไปข้างหน้าสำหรับ
  เซิร์ฟเวอร์ SRV_1 10.119.58.166:8080 ตรวจสอบน้ำหนัก 128
  เซิร์ฟเวอร์ SRV_2 127.0.0.1:8080 ปิดใช้งานการตรวจสอบน้ำหนัก 128

แบ็กเอนด์เริ่มต้นอย่างรวดเร็ว po-service-55560 
  โหมด tcp
  วงเวียนสมดุล
  เริ่มต้นเซิร์ฟเวอร์ init-addr สุดท้าย libc ไม่มี
  เซิร์ฟเวอร์ SRV_1 xxxxxxx:55560 ตรวจสอบน้ำหนัก 128

แบ็กเอนด์เริ่มต้นอย่างรวดเร็วบริการ 44448 
  โหมด tcp
  วงเวียนสมดุล
  เริ่มต้นเซิร์ฟเวอร์ init-addr สุดท้าย libc ไม่มี
  เซิร์ฟเวอร์ SRV_1 xxxxxxxxxx:44448 ตรวจสอบน้ำหนัก 128

แบ็กเอนด์เริ่มต้นตัวอย่าง http-service-80 
  โหมด http
  วงเวียนสมดุล
  ตัวเลือกไปข้างหน้าสำหรับ
  เริ่มต้นเซิร์ฟเวอร์ init-addr สุดท้าย libc ไม่มี
  เซิร์ฟเวอร์ SRV_1 xxxxxxxxxxxx:80 ตรวจสอบน้ำหนัก 128

แบ็กเอนด์เริ่มต้นตัวอย่าง https-service-443 
  โหมด tcp
  วงเวียนสมดุล
  เริ่มต้นเซิร์ฟเวอร์ init-addr สุดท้าย libc ไม่มี
  เซิร์ฟเวอร์ SRV_1 xxxxxxxxxxxx:443 ตรวจสอบน้ำหนัก 128

แบ็กเอนด์ ssl 
  โหมด tcp
  เซิร์ฟเวอร์ https 127.0.0.1:443 send-proxy-v2
in flag
`นี่คือไฟล์ haproxy.cfg ของฉัน' ดูเหมือนว่าคุณจะลืมสิ่งนี้
fr flag
ขอบคุณ @GeraldSchneider ฉันได้เพิ่ม คุณช่วยฉันในกรณีนี้ได้ไหม
in flag
คุณได้กำหนดค่า haproxy ให้ส่งผ่านทราฟฟิกไปยังแบ็กเอนด์โดยไม่มีการยกเลิก SSL ปัญหาอยู่ในบริการแบ็กเอนด์ของคุณ ไม่ใช่ haproxy
fr flag
@GeraldSchneider ขอบคุณมากสำหรับการตอบกลับของคุณ คุณช่วยแนะนำวิธีการยกเลิก SSL ได้ไหม

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา