haproxy 配置文件詳解 之 frontend


配置示例:

frontend www
    bind *:80
    mode http
    option httplog
    option forwardfor
    option httpclose
    log global
    #acl host_www hdr_dom(host) -i www.zb.com
    #acl host_img hdr_dom(host) -i img.zb.com
    #use_backend htmpool if host_www
    #use_backend imgpool if host_img
    default_backend htmpool

這部分通過frontend 關鍵字定義了一個名為“www”的前端虛擬節點,下面介紹每個選項的含義。

bind:此選項只能在frontend 和listen 部分進行定義,用於定義一個或幾個監聽的套接字。bind 的使用格式為:

  bind [<address>:<port_range>] interface <interface>

  其中,address 為可選選項,其可以為主機名或IP 地址,如果將其設置為“*”或“0.0.0.0”,將監聽當前系統的所有IPv4 地址。

  port_range 可以是一個特定的TCP 端口,也可是一個端口范圍,小於1024 的端口需要有特定權限的用戶才能使用。

  interface 為可選選項,用來指定網絡接口的名稱,只能在Linux 系統上使用。

option httplog:在默認情況下,haproxy 日志是不記錄HTTP 請求的,這樣很不方便HAProxy 問題的排查與監控。通過此選項可以啟用日志記錄HTTP 請求。

option forwardfor:如果后端服務器需要獲得客戶端的真實IP,就需要配置此參數。由於HAProxy 工作於反向代理模式,因此發往后端真實服務器的請求中的客戶端IP 均為HAProxy 主機的IP,而非真正訪問客戶端的地址,這就導致真實服務器端無法記錄客戶端真正請求來源的IP,而“X-Forwarded-For”則可用於解決此問題。

  通過使用“forwardfor”選項,HAProxy 就可以向每個發往后端真實服務器的請求添加“X-Forwarded-For”記錄,這樣后端真實服務器日志可以通過“X-Forwarded-For”信息來記錄客戶端來源IP。

option httpclose:此選項表示在客戶端和服務器端完成一次連接請求后,HAProxy 將主動關閉此TCP 連接。這是對性能非常有幫助的一個參數。

log global:表示使用全局的日志配置,這里的“global”表示引用在HAProxy 配置文件global 部分中定義的log 選項配置格式。

default_backend:#指定默認的后端服務器池,也就是指定一組后端真實服務器,而這些真實服務器組將在backend 段進行定義。這里的htmpool 就是一個后端服務器組。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM