Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

5.3. default 設定

default(預設)設定能用來配置套用到 frontend(前端)、backend(後端)、listen(聆聽)等配置項目的所有代理小節。典型的 default 一節看起來像是:

注意

任何配置於 proxy 子節(frontendbackend、或 listen)的參數,都會蓋過 default 中的參數值。
 
defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
mode 指定了 HAProxy instance 所使用的通訊協定。使用 http 模式會將來源請求連接至根基於 HTTP 的真實伺服器,試用於網頁伺服器的負載平衡。對於其它應用程式來說,請使用 tcp 模式。
log 會指定日誌條目將寫入的日誌位址與 syslog 的設施。global 值參照了 global 一節中的 log 參數中所指定的 HAProxy instance。
option httplog 能紀錄 HTTP session 的多種值,包括 HTTP 請求、session 狀態、連線數、來源位址、以及連線計數器等等。
option dontlognull 停用了對 null 連線之記錄,表示 HAProxy 不會記錄未傳遞任何資料的連線。這不建議用在網際網路上的環境中(例如網頁應用程式),因為 null 連線可能表示惡意活動,例如開放式掃描連接埠弱點。
retries 指定了在無法第一次就連上時,真實伺服器會重試連線的次數。
多種 timeout 值會指定某個給定請求的非活動時間值(單位為秒或微秒)。http-request 10s 會給來自用戶端的 HTTP 請求十秒的時間,已完成連線。queue 10m 會設定連線被放棄、用戶端收到 503 或「Service Unavailable」錯誤之前的時間。connect 10s 會指定等待成功連線至伺服器的秒數。client 1m 會指定用戶端能保持非活動(既不接受也不傳送資料)的時間。server 10m 會指定賦予伺服器在逾時值發生前,接受或傳送資料的時間,單位為微秒。