HAProxy เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ Zimbra เจ“เจชเจจ-เจธเจฐเฉ‹เจค เจเจกเฉ€เจธเจผเจจ เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจฌเฉˆเจฒเฉ‡เจ‚เจธเจฟเฉฐเจ—

เจตเฉฑเจกเฉ‡ เจชเฉˆเจฎเจพเจจเฉ‡ เจฆเฉ‡ เจœเจผเจฟเจฎเจฌเจฐเจพ OSE เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจจเจฟเจฐเจฎเจพเจฃ เจตเจฟเฉฑเจš เจฎเฉเฉฑเจ– เจ•เจพเจฐเจœเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจธเจฎเจฐเฉฑเจฅ เจฒเฉ‹เจก เจธเฉฐเจคเฉเจฒเจจ เจนเฉˆเฅค เจธเฉ‡เจตเจพ เจฆเฉ€ เจจเฉเจ•เจธ เจธเจนเจฟเจฃเจธเจผเฉ€เจฒเจคเจพ เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจฃ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจฒเฉ‹เจก เจธเฉฐเจคเฉเจฒเจจ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจธเจพเจฐเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฒเจˆ เจธเฉ‡เจตเจพ เจฆเฉ€ เจธเจฎเจพเจจ เจœเจตเจพเจฌเจฆเฉ‡เจนเฉ€ เจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃเจพ เจ…เจธเฉฐเจญเจต เจนเฉˆเฅค เจ‡เจธ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ, เจฒเฉ‹เจก เจฌเฉˆเจฒเฉ‡เจ‚เจธเจฐเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ - เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจ…เจคเฉ‡ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจนเฉฑเจฒ เจœเฉ‹ เจธเจฐเจตเจฐเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจตเฉฐเจกเจฆเฉ‡ เจนเจจเฅค เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚, เจฆเฉ‹เจจเฉ‹เจ‚ เจนเฉ€ เจฎเฉเฉฑเจขเจฒเฉ‡ เจนเจจ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฐเจพเจŠเจ‚เจกเจฐเฉ‹เจฌเจฟเจจ, เจœเฉ‹ เจ•เจฟ เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจš เจ…เจ—เจฒเฉ‡ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจนเจฐ เจ…เจ—เจฒเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจญเฉ‡เจœเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจตเฉ€ เจ‰เฉฑเจจเจค เจนเจจ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, HAProxy, เจœเฉ‹ เจ•เจฟ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจฒเฉ‹เจก เจ•เฉ€เจคเฉ‡ เจ•เฉฐเจชเจฟเจŠเจŸเจฟเฉฐเจ— เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจตเจฟเจ†เจชเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ. เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจซเจพเจ‡เจฆเฉ‡ เจฆเฉ‡ เจ‡เฉฑเจ• เจจเฉฐเจฌเจฐ. เจ†เจ‰ เจ‡เฉฑเจ• เจจเจœเจผเจฐ เจฎเจพเจฐเฉ€เจ เจ•เจฟ HAProxy เจฒเฉ‹เจก เจฌเฉˆเจฒเฉ‡เจ‚เจธเจฐ เจ…เจคเฉ‡ Zimbra OSE เจ‡เจ•เฉฑเจ เฉ‡ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจเฅค

HAProxy เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ Zimbra เจ“เจชเจจ-เจธเจฐเฉ‹เจค เจเจกเฉ€เจธเจผเจจ เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจฌเฉˆเจฒเฉ‡เจ‚เจธเจฟเฉฐเจ—

เจ‡เจธ เจฒเจˆ, เจธเจฎเฉฑเจธเจฟเจ† เจฆเฉ€เจ†เจ‚ เจธเจผเจฐเจคเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, เจธเจพเจจเฉ‚เฉฐ เจœเจผเจฟเจฎเจฌเจฐเจพ OSE เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจฆเฉ‹ เจœเจผเจฟเจฎเจฌเจฐเจพ เจชเฉเจฐเฉŒเจ•เจธเฉ€เจ†เจ‚, เจฆเฉ‹ LDAP เจ…เจคเฉ‡ LDAP เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจธเจฐเจตเจฐ, 1000 เจฎเฉ‡เจฒเจฌเจพเจ•เจธเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจšเจพเจฐ เจฎเฉ‡เจฒ เจธเจŸเฉ‹เจฐ, เจ…เจคเฉ‡ เจคเจฟเฉฐเจจ MTAs เจนเจจเฅค เจ‡เจน เจฆเฉ‡เจ–เจฆเฉ‡ เจนเฉ‹เจ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจฎเฉ‡เจฒ เจธเจฐเจตเจฐ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚, เจ‡เจน เจคเจฟเฉฐเจจ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจŸเฉเจฐเฉˆเจซเจฟเจ• เจชเฉเจฐเจพเจชเจค เจ•เจฐเฉ‡เจ—เจพ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉฐเจคเฉเจฒเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ: เจตเฉˆเฉฑเจฌ เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐเจจ เจฒเจˆ HTTP, เจจเจพเจฒ เจนเฉ€ เจˆเจฎเฉ‡เจฒ เจญเฉ‡เจœเจฃ เจฒเจˆ POP เจ…เจคเฉ‡ SMTPเฅค เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, HTTP เจŸเฉเจฐเฉˆเจซเจฟเจ• 192.168.0.57 เจ…เจคเฉ‡ 192.168.0.58 ip เจชเจคเจฟเจ†เจ‚ เจตเจพเจฒเฉ‡ Zimbra เจชเฉเจฐเฉŒเจ•เจธเฉ€ เจธเจฐเจตเจฐเจพเจ‚ เจคเฉ‡ เจœเจพเจตเฉ‡เจ—เจพ, เจ…เจคเฉ‡ SMTP เจŸเฉเจฐเฉˆเจซเจฟเจ• 192.168.0.77 เจ…เจคเฉ‡ 192.168.0.78 ip เจชเจคเจฟเจ†เจ‚ เจตเจพเจฒเฉ‡ MTA เจธเจฐเจตเจฐเจพเจ‚ เจคเฉ‡ เจœเจพเจตเฉ‡เจ—เจพเฅค

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจฆเฉฑเจธเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจธเจฐเจตเจฐเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจตเฉฐเจก เจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ, เจ…เจธเฉ€เจ‚ HAProxy เจฒเฉ‹เจก เจฌเฉˆเจฒเฉ‡เจ‚เจธเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡, เจœเฉ‹ เจ•เจฟ เจ‰เจฌเฉฐเจŸเฉ‚ 18.04 'เจคเฉ‡ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจœเจผเจฟเจฎเจฌเจฐเจพ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจ‡เจจเจชเฉเจŸ เจจเฉ‹เจก 'เจคเฉ‡ เจšเฉฑเจฒเฉ‡เจ—เจพเฅค เจ‡เจธ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจ‰เฉฑเจคเฉ‡ เจนเฉˆเจชเจฐเฉ‹เจ•เจธเฉ€ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเจจเจพ เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ sudo apt-get install haproxy. เจ‰เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ‡เจน เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ /etc/default/haproxy เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจฌเจฆเจฒเฉ‹ เจฏเฉ‹เจ— = 0 'เจคเฉ‡ เจฏเฉ‹เจ— = 1. เจนเฉเจฃ, เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ•เจฟ เจนเฉˆเจชเจฐเฉ‹เจ•เจธเฉ€ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจนเฉ€ เจนเฉˆ, เจธเจฟเจฐเจซเจผ เจ•เจฎเจพเจ‚เจก เจฆเจฟเจ“ เจธเฉ‡เจตเจพ haproxy. เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจ•เจฟ เจ‡เจน เจธเฉ‡เจตเจพ เจšเฉฑเจฒ เจฐเจนเฉ€ เจนเฉˆ, เจ‡เจน เจ•เจฎเจพเจ‚เจก เจฆเฉ‡ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจคเฉ‹เจ‚ เจธเจชเฉฑเจธเจผเจŸ เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เจพ.

HAProxy เจฆเฉ€เจ†เจ‚ เจฎเฉเฉฑเจ– เจ•เจฎเฉ€เจ†เจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจ‡เจน เจนเฉˆ เจ•เจฟ เจ‡เจน เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ•เจจเฉˆเจ•เจŸ เจ•เฉ€เจคเฉ‡ เจ•เจฒเจพเจ‡เฉฐเจŸ เจฆเฉ‡ IP เจเจกเจฐเฉˆเฉฑเจธ เจจเฉ‚เฉฐ เจชเฉเจฐเจธเจพเจฐเจฟเจค เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ, เจ‡เจธเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจจเจพเจฒ เจฌเจฆเจฒเจฆเจพ เจนเฉˆเฅค เจ‡เจน เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจฆเจพ เจ•เจพเจฐเจจ เจฌเจฃ เจธเจ•เจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจนเจฎเจฒเจพเจตเจฐเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจญเฉ‡เจœเฉ‡ เจ—เจ เจชเฉฑเจคเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฒเฉˆเจ•เจฒเจฟเจธเจŸ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เจฐเจจ เจฒเจˆ IP เจชเจคเฉ‡ เจฆเฉเจ†เจฐเจพ เจชเจ›เจพเจฃเจฟเจ† เจจเจนเฉ€เจ‚ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เจธ เจฎเฉเฉฑเจฆเฉ‡ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ. เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ /opt/zimbra/common/conf/master.cf.in เจชเฉ‹เจธเจŸเจซเจฟเจ•เจธ เจธเจฐเจตเจฐเจพเจ‚ เจคเฉ‡ เจ…เจคเฉ‡ เจ‡เจธ เจตเจฟเฉฑเจš เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€เจ†เจ‚ เจฒเจพเจˆเจจเจพเจ‚ เจœเฉ‹เฉœเฉ‹:

26      inet  n       -       n       -       1       postscreen
        -o postscreen_upstream_proxy_protocol=haproxy
 
466    inet  n       -       n       -       -       smtpd
%%uncomment SERVICE:opendkim%%  -o content_filter=scan:[%%zimbraLocalBindAddress%%]:10030
        -o smtpd_tls_wrappermode=yes
        -o smtpd_sasl_auth_enable=yes
        -o smtpd_client_restrictions=
        -o smtpd_data_restrictions=
        -o smtpd_helo_restrictions=
        -o smtpd_recipient_restrictions=
        -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
        -o syslog_name=postfix/smtps
        -o milter_macro_daemon_name=ORIGINATING
        -o smtpd_upstream_proxy_protocol=haproxy
%%uncomment LOCAL:postjournal_enabled%% -o smtpd_proxy_filter=[%%zimbraLocalBindAddress%%]:10027
%%uncomment LOCAL:postjournal_enabled%% -o smtpd_proxy_options=speed_adjust
 
588 inet n      -       n       -       -       smtpd
%%uncomment SERVICE:opendkim%%  -o content_filter=scan:[%%zimbraLocalBindAddress%%]:10030
        -o smtpd_etrn_restrictions=reject
        -o smtpd_sasl_auth_enable=%%zimbraMtaSaslAuthEnable%%
        -o smtpd_tls_security_level=%%zimbraMtaTlsSecurityLevel%%
        -o smtpd_client_restrictions=permit_sasl_authenticated,reject
        -o smtpd_data_restrictions=
        -o smtpd_helo_restrictions=
        -o smtpd_recipient_restrictions=
        -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
        -o syslog_name=postfix/submission
        -o milter_macro_daemon_name=ORIGINATING
        -o smtpd_upstream_proxy_protocol=haproxy
%%uncomment LOCAL:postjournal_enabled%% -o smtpd_proxy_filter=[%%zimbraLocalBindAddress%%]:10027
%%uncomment LOCAL:postjournal_enabled%% -o smtpd_proxy_options=speed_adjust

เจ‡เจธเจฆเฉ‡ เจ•เจพเจฐเจจ, เจ…เจธเฉ€เจ‚ เจชเฉ‹เจฐเจŸ 26, 466 เจ…เจคเฉ‡ 588 เจจเฉ‚เฉฐ เจ–เฉ‹เจฒเฉเจนเจพเจ‚เจ—เฉ‡, เจœเฉ‹ HAProxy เจคเฉ‹เจ‚ เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจŸเฉเจฐเฉˆเจซเจฟเจ• เจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจ—เฉ‡เฅค เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, zmmtactl เจฐเฉ€เจธเจŸเจพเจฐเจŸ เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจธเจพเจฐเฉ‡ เจธเจฐเจตเจฐเจพเจ‚ 'เจคเฉ‡ เจชเฉ‹เจธเจŸเจซเจฟเจ•เจธ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เจฐเฉ‹เฅค

เจ‰เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ†เจ“ HAProxy เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ€เจเฅค เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจชเจนเจฟเจฒเจพเจ‚ เจธเฉˆเจŸเจฟเฉฐเจ—เจœเจผ เจซเจพเจˆเจฒ เจฆเฉ€ เจฌเฉˆเจ•เจ…เฉฑเจช เจ•เจพเจชเฉ€ เจฌเจฃเจพเจ“ cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak. เจซเจฟเจฐ เจธเจฐเฉ‹เจค เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจŸเฉˆเจ•เจธเจŸ เจเจกเฉ€เจŸเจฐ เจตเจฟเฉฑเจš เจ–เฉ‹เจฒเฉเจนเฉ‹ /etc/haproxy/haproxy.cfg เจ…เจคเฉ‡ เจนเฉŒเจฒเฉ€-เจนเฉŒเจฒเฉ€ เจ‡เจธ เจตเจฟเฉฑเจš เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€เจ†เจ‚ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจœเฉ‹เฉœเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ‹เฅค เจชเจนเจฟเจฒเจพ เจฌเจฒเจพเจ• เจ‡เฉฑเจ• เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจœเฉ‹เฉœ เจฐเจฟเจนเจพ เจนเฉˆ เจœเฉ‹ เจฒเฉŒเจ—เจธ เจฒเฉˆเจ‚เจฆเจพ เจนเฉˆ, เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง เจธเจฎเจ•เจพเจฒเฉ€ เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจจเจพเจฒ เจนเฉ€ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ‡ เจจเจพเจฎ เจ…เจคเฉ‡ เจธเจฎเฉ‚เจน เจจเฉ‚เฉฐ เจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฟเจธ เจจเจพเจฒ เจšเฉฑเจฒเจฃเจฏเฉ‹เจ— เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจธเฉฐเจฌเฉฐเจงเจฟเจค เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค

global
    user daemon
    group daemon
    daemon
    log 127.0.0.1 daemon
    maxconn 5000
    chroot /var/lib/haproxy

5000 เจธเจฎเจ•เจพเจฒเฉ€ เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจฆเจพ เจ…เฉฐเจ•เฉœเจพ เจ‡เฉฑเจ• เจ•เจพเจฐเจจ เจฒเจˆ เจชเฉเจฐเจ—เจŸ เจนเฉ‹เจ‡เจ†เฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจพเจกเฉ‡ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš 4000 เจฎเฉ‡เจฒเจฌเจพเจ•เจธ เจนเจจ, เจ‡เจธ เจฒเจˆ เจ‡เจน เจธเฉฐเจญเจพเจตเจจเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ เจ•เจฟ เจ‰เจน เจธเจพเจฐเฉ‡ เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจ†เจชเจฃเฉ‡ เจ•เฉฐเจฎ เจฆเฉ‡ เจกเจพเจ• 'เจคเฉ‡ เจœเจพเจฃเจ—เฉ‡เฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจงเจฃ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ เจœเจฟเจนเจพ เจนเจพเจธเจผเฉ€เจ เจจเฉ‚เฉฐ เจ›เฉฑเจกเจฃเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ.

เจ†เจ“ เจนเฉเจฃ เจกเจฟเจซเฉŒเจฒเจŸ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจฌเจฒเจพเจ• เจœเฉ‹เฉœเฉ€เจ:

defaults
        timeout client 1m
        log global
        mode tcp
        timeout server 1m
        timeout connect 5s

เจ‡เจน เจฌเจฒเจพเจ• เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง เจ•เจฒเจพเจ‡เฉฐเจŸ เจ…เจคเฉ‡ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฌเฉฐเจฆ เจ•เจฐเจจ เจฒเจˆ เจ‰เจกเฉ€เจ• เจธเจฎเจพเจ‚ เจธเฉˆเฉฑเจŸ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจ‡เจธเจฆเฉ€ เจฎเจฟเจ†เจฆ เจชเฉเฉฑเจ— เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ HAProxy เจ“เจชเจฐเฉ‡เจธเจผเจจ เจฎเฉ‹เจก เจตเฉ€ เจธเฉˆเฉฑเจŸ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจฒเฉ‹เจก เจฌเฉˆเจฒเฉ‡เจ‚เจธเจฐ TCP เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ, เจฏเจพเจจเฉ€, เจ‡เจน เจธเจฟเจฐเจซเจผ TCP เจชเฉˆเจ•เฉ‡เจŸเจพเจ‚ เจฆเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจ…เฉฑเจ—เฉ‡, เจ…เจธเฉ€เจ‚ เจตเฉฑเจ–-เจตเฉฑเจ– เจชเฉ‹เจฐเจŸเจพเจ‚ 'เจคเฉ‡ เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจฒเจˆ เจจเจฟเจฏเจฎ เจœเฉ‹เฉœเจพเจ‚เจ—เฉ‡เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจœเฉ‡เจ•เจฐ เจชเฉ‹เจฐเจŸ 25 เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ SMTP เจ•เจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจ…เจคเฉ‡ เจฎเฉ‡เจฒ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจธเจพเจกเฉ‡ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจฎเฉŒเจœเฉ‚เจฆ MTAs เจจเฉ‚เฉฐ เจ•เจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ…เฉฑเจ—เฉ‡ เจญเฉ‡เจœเจฃเจพ เจธเจฎเจเจฆเจพเจฐ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจ•เจจเฉˆเจ•เจธเจผเจจ เจชเฉ‹เจฐเจŸ 80 'เจคเฉ‡ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจ‡เฉฑเจ• http เจฌเฉ‡เจจเจคเฉ€ เจนเฉˆ เจœเจฟเจธ เจจเฉ‚เฉฐ เจœเจผเจฟเจฎเจฌเจฐเจพ เจชเฉเจฐเฉŒเจ•เจธเฉ€ เจจเฉ‚เฉฐ เจ…เฉฑเจ—เฉ‡ เจญเฉ‡เจœเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค

เจชเฉ‹เจฐเจŸ 25 เจฒเจˆ เจจเจฟเจฏเจฎ:

frontend smtp-25
bind *:27
default_backend backend-smtp-25
 
backend backend-smtp-25
server mta1 192.168.0.77:26 send-proxy
server mta2 192.168.0.78:26 send-proxy

เจชเฉ‹เจฐเจŸ 465 เจฒเจˆ เจจเจฟเจฏเจฎ:

frontend smtp-465
bind *:467
default_backend backend-smtp-465

backend backend-smtp-465
server mta1 192.168.0.77:466 send-proxy
server mta2 192.168.0.78:466 send-proxy

เจชเฉ‹เจฐเจŸ 587 เจฒเจˆ เจจเจฟเจฏเจฎ:

frontend smtp-587
bind *:589
default_backend backend-smtp-587
 
backend backend-smtp-587
server mail1 192.168.0.77:588 send-proxy
server mail2 192.168.0.78:588 send-proxy

เจชเฉ‹เจฐเจŸ 80 เจฒเจˆ เจจเจฟเจฏเจฎ:

frontend http-80
bind    *:80
default_backend http-80
 
backend http-80
mode tcp
server zproxy1 192.168.0.57:80 check
server zproxy2 192.168.0.58:80 check

เจชเฉ‹เจฐเจŸ 443 เจฒเจˆ เจจเจฟเจฏเจฎ:

frontend https
bind  *:443
default_backend https-443
 
backend https-443
mode tcp
server zproxy1 192.168.0.57:80 check
server zproxy2 192.168.0.58:80 check

เจ•เจฟเจฐเจชเจพ เจ•เจฐเจ•เฉ‡ เจจเฉ‹เจŸ เจ•เจฐเฉ‹ เจ•เจฟ MTA เจจเฉ‚เฉฐ TCP เจชเฉˆเจ•เฉ‡เจŸ เจ…เฉฑเจ—เฉ‡ เจญเฉ‡เจœเจฃ เจฆเฉ‡ เจจเจฟเจฏเจฎเจพเจ‚ เจตเจฟเฉฑเจš, เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจชเจคเจฟเจ†เจ‚ เจฆเฉ‡ เจ…เฉฑเจ—เฉ‡ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจนเฉˆ เจญเฉ‡เจœเฉ‹-เจชเฉเจฐเจพเจ•เจธเฉ€. เจ‡เจน เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ เจคเจพเจ‚ เจ•เจฟ, เจชเฉ‹เจธเจŸเจซเจฟเจ•เจธ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจธเจพเจกเฉ‡ เจตเฉฑเจฒเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, เจ‡เจธเจฆเฉ‡ เจญเฉ‡เจœเจฃ เจตเจพเจฒเฉ‡ เจฆเจพ เจ…เจธเจฒ IP เจชเจคเจพ เจตเฉ€ TCP เจชเฉˆเจ•เฉ‡เจŸเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจญเฉ‡เจœเจฟเจ† เจœเจพเจตเฉ‡เฅค

เจนเฉเจฃ เจœเจฆเฉ‹เจ‚ เจ•เจฟ HAProxy เจตเจฟเฉฑเจš เจธเจพเจฐเฉ€เจ†เจ‚ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€เจ†เจ‚ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจนเจจ, เจคเฉเจธเฉ€เจ‚ เจ•เจฎเจพเจ‚เจก เจจเจพเจฒ เจธเฉ‡เจตเจพ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจธเฉ‡เจตเจพ เจนเฉˆเจชเจฐเฉ‹เจ•เจธเฉ€ เจฐเฉ€เจธเจŸเจพเจฐเจŸ เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ‹เฅค

Zextras Suite เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจธเจพเจฐเฉ‡ เจธเจตเจพเจฒเจพเจ‚ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ Zextras Ekaterina Triandafilidi เจฆเฉ‡ เจชเฉเจฐเจคเฉ€เจจเจฟเจงเฉ€ เจจเฉ‚เฉฐ เจˆ-เจฎเฉ‡เจฒ เจฆเฉเจ†เจฐเจพ เจธเฉฐเจชเจฐเจ• เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ [เจˆเจฎเฉ‡เจฒ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค]

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹