การเปลี่ยนเส้นทางย่อยของ HAproxy


9

ฉันเป็นเจ้าของโดเมนเดียวเช่น xyz.com และฉันพยายามเปลี่ยนเส้นทางโดเมนย่อย ip อื่นด้วย haproxy

ฉันใช้ tomcat บนเซิร์ฟเวอร์และฉันใช้ haproxy เพื่อเปลี่ยนเส้นทางคำร้องขอขาเข้าบนพอร์ต 80 ไปยังพอร์ต 8080

Like;

www.xyz.com -> 10.0.0.1

www.xyz.com/abc -> 10.0.0.2
  or  abc.xyz.com -> 10.0.0.2

ในการเปลี่ยนเส้นทางนี้ฉันจะตั้ง haproxy ได้อย่างไร


4
ฉันไม่รู้ว่าทำไมคุณถึงลงคะแนน 3 ครั้งและไม่มีความคิดเห็นใด ๆ นี่ไม่ใช่มารยาทการแลกเปลี่ยนที่ดีมาก! ขออภัยสำหรับการต้อนรับที่ไม่ดีนี้
Stefano

คำตอบ:


10

ใน haproxy คุณทำเปลี่ยนเส้นทางการรวมaclกฎระเบียบและredirectคน; คุณเลือกเซิร์ฟเวอร์ที่เหมาะสมโดยใช้backendกฎ

เอกสาร haproxyอย่างเป็นทางการไม่ใช่เรื่องง่ายในการอ่าน แต่มันสมบูรณ์มาก

บางสิ่งเช่นนี้ (เพียงแค่ภาพร่างเพื่อให้ความคิดแก่คุณ):

frontend http-in
    mode              http
    bind              FRONTENDIP:80 # eg. 100.100.100.100:80

    default_backend   tomcat_server_2

    acl tomcat_1      hdr_end(host) -i www.xyz.com
    acl tomcat_2      hdr_end(host) -i abc.xyz.com
    acl tomcat_path   path_beg /abc/

    use_backend       tomcat_server_1 if tomcat_1 !tomcat_path

backend tomcat_server_1
    server tomcat1 10.0.0.1:8080 maxconn 1000

backend tomcat_server_2
    server tomcat2 10.0.0.2:8080 maxconn 1000

หากคุณต้องการเปลี่ยนเส้นทาง www.xyz.com/abc/ไปที่abc.xyz.com:

    redirect prefix   http://abc.xyz.com if tomcat_path

1
ขอบคุณสำหรับตัวอย่าง! ฉันคิดว่าสิ่งที่สองbackend tomcat_server_1ควรเป็นbackend tomcat_server_2
redgeoff

-3

Haproxy ไม่ได้หมายถึงการเปลี่ยนเส้นทางชื่อหรือเปลี่ยนเส้นทาง URIs

ชื่อถูกกำกับโดยเนมเซิร์ฟเวอร์ (DNS)

URIs ถูกเปลี่ยนเส้นทางโดย (โมดูลของ) เว็บเซิร์ฟเวอร์ (HTTP)

Haproxy เป็นการปรับสมดุลการรับส่งข้อมูล (TCP / IP) ระหว่างเซิร์ฟเวอร์ที่เหมือนกันสองตัว (หรือมากกว่า)


8
haproxy สามารถเปลี่ยนเส้นทางทั้งคำนำหน้า (โดเมนย่อย / โดเมน / ฯลฯ ) และ URL ค้นหาredirect locationและredirect prefixในhaproxy.1wt.eu/download/1.4/doc/configuration.txt
Stefano

8
คุณผิด Haproxy เป็นทั้ง load balancer และ reverse proxy server
jmoreira
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.