{"id":18647,"date":"2024-11-19T20:38:09","date_gmt":"2024-11-19T12:38:09","guid":{"rendered":"https:\/\/fwq.ai\/blog\/?p=18647"},"modified":"2024-11-19T20:38:09","modified_gmt":"2024-11-19T12:38:09","slug":"haproxy%e4%b8%ad%e7%9a%84%e5%90%8e%e7%ab%af%e6%9c%8d%e5%8a%a1%e5%99%a8server%e7%9a%84%e4%bd%bf%e7%94%a8","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/18647\/","title":{"rendered":"Haproxy\u4e2d\u7684\u540e\u7aef\u670d\u52a1\u5668server\u7684\u4f7f\u7528"},"content":{"rendered":"<p>server\u7684\u8bbe\u7f6e\u5305\u62ecserver\u548cdefault-server\u4e24\u79cd\uff0c\u8fd9\u4e24\u79cd\u533a\u522b\u5728\u4e8edefault-server\u662f\u591a\u7ec4server\u7684\u516c\u7528\u8bbe\u7f6e\u3002\u4e00\u822c\u6d89\u53ca\u5230\u591a\u7ec4\u670d\u52a1\u5668\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u516c\u7528default-server\uff0c\u5176\u4ed6\u7684server\u5c06\u7ee7\u627fdefault-server\u7684\u8bbe\u7f6e\u3002<\/p>\n<p>\u5b98\u65b9\u7684\u53c2\u8003\u6587\u6863\uff1ahttp:\/\/cbonte.github.io\/haproxy-dconv\/1.7\/configuration.html#5.2-addr<\/p>\n<p>\u8fd92\u4e2a\u547d\u4ee4\u7684\u8bbe\u7f6e\u683c\u5f0f\uff1a<\/p>\n<p>&nbsp;<\/p>\n<pre>server &lt;name&gt; &lt;address&gt;[:port] [settings ...]\r\ndefault-server [settings ...]<\/pre>\n<p>\u5176\u4e2dname\u3001address\u662f\u5fc5\u987b\u7684\uff0cport\u662f\u53ef\u9009\uff0c\u7701\u7565\u7684\u8bdd\uff0c\u9ed8\u8ba4\u662f80\u7aef\u53e3\u3002<\/p>\n<p><strong>Tips 1\uff1a<\/strong>\u8bf7\u6ce8\u610f\u4ee5\u4e0b2\u79cd\u8bbe\u7f6e\u7684\u533a\u522b\uff0c<\/p>\n<pre>port\u8bbe\u7f6e\u7684\u5065\u5eb7\u68c0\u67e5\u7684\u7aef\u53e3\r\n\r\nserver  web1 192.168.80.121 port 8080 check \/\/\u8bf7\u6c42\u8f6c\u53d1\u523080\u7aef\u53e3\uff0c\u800c\u5065\u5eb7\u68c0\u67e5\u662f8080\u7aef\u53e3\r\nserver  web2 192.168.80.122:8080 check \/\/\u8bf7\u6c42\u8f6c\u53d1\u548c\u5065\u5eb7\u68c0\u67e5\u90fd\u662f\u75288080\u7aef\u53e3\r\n\u4f46\u4e0d\u80fd\u8bbe\u7f6e\u6210\r\nweb1 192.168.80.121,\u8bbe\u7f6e\u6210\u8fd9\u79cd\u683c\u5f0f\u5c06\u65e0\u6cd5\u542f\u52a8haproxy<\/pre>\n<p>\u4e0b\u9762\u9010\u4e2a\u4ecb\u7ecd\u4e0bsetting\uff0c\u4e00\u822c\u60c5\u51b5\u4e0bsetting\u53ef\u4ee5\u5728server\u548cdefault-server\u4e2d\u901a\u7528\uff0c\u5982\u679c\u6709\u4e2a\u522b\u4e0d\u901a\u7528\u7684\u8bbe\u7f6e\uff0c\u6211\u5c06\u6807\u8bc6\u51fa\u6765\u3002<\/p>\n<ul>\n<li>\n<h1>addr &lt;ipv4|ipv6&gt;\u3001port &lt;port&gt;<\/h1>\n<\/li>\n<\/ul>\n<p>default-server\uff1aaddr \u4e0d\u652f\u6301\uff0cport \u652f\u6301\uff0c\u8fd9\u4e5f\u8bf4\u660e\uff0c\u5065\u5eb7\u68c0\u67e5\u53ea\u80fd\u662f\u9488\u5bf9\u67d0\u4e00\u4e2a\u7279\u5b9a\u7684\u540e\u7aef\u670d\u52a1\u5668\u3002<\/p>\n<p>\u5065\u5eb7\u68c0\u67e5\u7684\u4e13\u7528\u5730\u5740\u548c\u7aef\u53e3\uff0c\u5982\u679c\u672a\u8bbe\u7f6e\uff0c\u5c06\u4f7f\u7528\u540e\u7aef\u7684\u670d\u52a1\u5668\u5730\u5740\u548c\u7aef\u53e3\u3002<br \/>\n\u4e3e\u4f8b\u8bf4\u660e\uff1a<\/p>\n<pre>\/\/\u540e\u7aef\u670d\u52a1\u4f7f\u7528192.168.80.121:80 ,\u800c\u5065\u5eb7\u68c0\u67e5\u4f7f\u7528 192.168.80.122:8080\r\nserver  web1 192.168.80.121 addr 192.168.80.122 port 8080 check\r\n\r\ndefault-server port 80\r\nserver  web1 192.168.80.121 check\r\nserver  web2 192.168.80.122:8080 port 8080 check\r\n\/\/\u4e0a\u9762\u7684\u4e09\u884c\u8bbe\u7f6eweb1\u4f7f\u752880\u7aef\u53e3\u68c0\u67e5\uff0cweb2\u662f\u4f7f\u75288080\u7aef\u53e3\u68c0\u67e5<\/pre>\n<ul>\n<li>\n<h1>agent-check\u3001agent-port\u3001agent-inter &lt;delay&gt;<br \/>\nagent-send &lt;string&gt;<\/h1>\n<\/li>\n<\/ul>\n<p>\u672c\u4eba\u6682\u65f6\u6ca1\u6709\u5f04\u61c2\uff0c\u5982\u679c\u6709\u670b\u53cb\u77e5\u9053\uff0c\u6b22\u8fce\u5728\u8bc4\u8bba\u4e2d\u8865\u5145<br \/>\n\u5b98\u65b9\u7684\u89e3\u91ca\uff1ahttp:\/\/cbonte.github.io\/haproxy-dconv\/1.7\/configuration.html#5.2-agent-check<\/p>\n<ul>\n<li>\n<h1>backup<\/h1>\n<\/li>\n<\/ul>\n<p>default-server\uff1a\u4e0d\u652f\u6301<\/p>\n<p>\u4f7f\u7528\u4e00\u53f0\u670d\u52a1\u5668\u4f5c\u4e3a\u5907\u4efd\u670d\u52a1\u5668\u3002\u4e3e\u4f8b\u8bf4\u660e<\/p>\n<pre>option httpchk GET \/index.html\r\ndefault-server port 80\r\nserver  web1 192.168.80.121 check\r\nserver  web2 192.168.80.122 port 8080 check backup\r\n\r\n#\u5f53121\u505c\u6b62\u670d\u52a1\u540e\uff0c122\u5c06\u63a5\u6536\u8bf7\u6c42<\/pre>\n<p><strong>Tips 1\uff1a<\/strong>\u5c3d\u7ba1\u662f\u5907\u4efd\u670d\u52a1\u5668\uff0c\u5982\u679c\u8bbe\u7f6e\u4e86 check \uff0c\u4f9d\u7136\u4f1a\u6267\u884c\u5065\u5eb7\u68c0\u67e5.<\/p>\n<p><strong>Tips 2\uff1a<\/strong>\u5982\u679c\u67092\u7ec4\u4ee5\u4e0a\u5907\u4efd\u670d\u52a1\u5668\uff0c\u5f53\u6240\u6709\u7684\u975e\u5907\u4efd\u670d\u52a1\u5668\u505c\u6b62\u540e\uff0c\u7b2c\u4e00\u4e2a\u5907\u4efd\u670d\u52a1\u5668\u5c06\u542f\u7528\uff08\u548c\u987a\u5e8f\u6709\u5173\uff09<\/p>\n<pre>option httpchk GET \/index.html\r\ndefault-server port 80\r\nserver  web1 192.168.80.121 check\r\nserver  web2 192.168.80.122 port 8080 check backup\r\nserver  web2 192.168.80.123 port 8080 check backup\r\n\r\n#\u5f53121\u505c\u6b62\u540e\uff0c122\u7ee7\u7eed\u670d\u52a1\uff0c123\u7ee7\u7eed\u4fdd\u6301\u5907\u4efd\uff0c\u53ea\u6709\u5f53122\u4e5f\u505c\u6b62\u670d\u52a1\u540e\uff0c123\u624d\u542f\u7528<\/pre>\n<p><strong>Tips 3\uff1a<\/strong>\u5982\u679c\u975e\u5907\u4efd\u670d\u52a1\u5668\u505c\u6b62\u540e\uff0c\u60f3\u542f\u7528\u6240\u6709\u7684\u5907\u4efd\u670d\u52a1\u5668\uff0c\u5219\u9700\u8981\u4f7f\u7528 option allbackups \uff0cno option allbackups\uff0c\u8fd92\u884c\u8bbe\u7f6e\u8868\u793a\u542f\u7528\/\u7981\u6b62\u5168\u90e8\u7684\u5907\u4efd\u670d\u52a1\u5668\u3002<\/p>\n<pre>option allbackups\r\noption httpchk GET \/index.html\r\ndefault-server port 80\r\nserver  web1 192.168.80.121 check\r\nserver  web2 192.168.80.122 port 8080 check backup\r\nserver  web2 192.168.80.123 port 8080 check backup\r\n\r\n#\u5f53121\u505c\u6b62\u670d\u52a1\u540e\uff0c122 123\u540c\u65f6\u542f\u7528<\/pre>\n<pre>option allbackups\r\n<strong>no option allbackups<\/strong>\r\noption httpchk GET \/index.html\r\ndefault-server port 80\r\nserver  web1 192.168.80.121 check\r\nserver  web2 192.168.80.122 port 8080 check backup\r\nserver  web2 192.168.80.123 port 8080 check backup\r\n\r\n#\u5f53121\u505c\u6b62\u670d\u52a1\u540e\uff0c\u4f9d\u65e7\u53ea\u6709122\u542f\u7528\u670d\u52a1<\/pre>\n<ul>\n<li>\n<h1>\u00a0ca-file &lt;cafile&gt;<\/h1>\n<\/li>\n<\/ul>\n<p>default-server:\u4e0d\u652f\u6301<\/p>\n<p>\u8be5\u8bbe\u7f6e\u53ea\u652f\u6301OpenSSL\u65f6\u53ef\u7528\u3002\u5b83\u6307\u5b9a\u7684PEM\u6587\u4ef6\u52a0\u8f7dCA\u8bc1\u4e66\u7528\u4e8e\u9a8c\u8bc1\u670d\u52a1\u5668\u7684\u8bc1\u4e66\u3002<\/p>\n<ul>\n<li>\n<h1>check<\/h1>\n<\/li>\n<\/ul>\n<p>default-server:\u4e0d\u652f\u6301<\/p>\n<p>\u542f\u7528\u540e\u7aef\u670d\u52a1\u5668\u7684\u5065\u5eb7\u68c0\u67e5\u3002<\/p>\n<p><strong>Tips 1\uff1a<\/strong>\u8fd9\u4e2a\u8bbe\u7f6e\u5c06\u7ed3\u5408inter\u3001rise\u3001fall \u4f7f\u7528\u3002<\/p>\n<p><strong>Tips 2\uff1a<\/strong>\u8bf7\u6c42\u7684\u68c0\u67e5\uff0c\u5c06\u4f7f\u7528\u00a0httpchk\u3001smtpchk\u3001mysql-check\u3001pgsql-check\u3001ssl-hello-chk\u3001redis-chk\u00a0\u5176\u4e2d\u7684\u4e00\u79cd\uff0c\u5f53\u7136\u4e86httpchk\u3001mysql-check\u9891\u7387\u8f83\u9ad8\u3002<\/p>\n<ul>\n<li>\n<h1>check-send-proxy<\/h1>\n<\/li>\n<\/ul>\n<p>default-server:\u4e0d\u652f\u6301<\/p>\n<ul>\n<li>\n<h1>check-ssl<\/h1>\n<\/li>\n<\/ul>\n<p>default-server:\u4e0d\u652f\u6301<\/p>\n<ul>\n<li>\n<h1>ciphers &lt;ciphers&gt;<\/h1>\n<\/li>\n<\/ul>\n<p>default-server:\u4e0d\u652f\u6301<\/p>\n<ul>\n<li>\n<h1>\u00a0cookie &lt;value&gt;<\/h1>\n<\/li>\n<\/ul>\n<p>default-server:\u4e0d\u652f\u6301<\/p>\n<ul>\n<li>\n<h1>\u00a0crl-file &lt;crlfile&gt;<\/h1>\n<\/li>\n<\/ul>\n<p>default-server:\u4e0d\u652f\u6301<\/p>\n<ul>\n<li>\n<h1>crt &lt;cert&gt;<\/h1>\n<\/li>\n<\/ul>\n<p>default-server:\u4e0d\u652f\u6301<\/p>\n<ul>\n<li>\n<h1>disabled<\/h1>\n<\/li>\n<\/ul>\n<p>default-server:\u4e0d\u652f\u6301<\/p>\n<ul>\n<li>\n<h1>error-limit &lt;count&gt;\u3001on-error &lt;mode&gt;\u3001observe &lt;mode&gt;<\/h1>\n<\/li>\n<li>\n<h1>force-sslv3\u3001force-tlsv10\u3001force-tlsv11\u3001force-tlsv12<\/h1>\n<\/li>\n<\/ul>\n<p>default-server:\u4e0d\u652f\u6301<\/p>\n<ul>\n<li>\n<h1>id &lt;value&gt;<\/h1>\n<\/li>\n<\/ul>\n<p>default-server:\u4e0d\u652f\u6301<\/p>\n<ul>\n<li>\n<h1>namespace &lt;name&gt;<\/h1>\n<\/li>\n<li>\n<h1>maxconn &lt;maxconn&gt;\u3001maxqueue &lt;maxqueue&gt;<br \/>\nminconn &lt;minconn&gt;<\/h1>\n<\/li>\n<li>\n<h1>inter &lt;delay&gt;\u3001fastinter &lt;delay&gt;\u3001downinter &lt;delay&gt;<br \/>\nrise &lt;count&gt;\u3001fall &lt;count&gt;<\/h1>\n<\/li>\n<\/ul>\n<p>\u8fd9\u4e2a5\u4e2a\u8bbe\u7f6e\u90fd\u548c\u5065\u5eb7\u68c0\u67e5\u76f8\u5173\u3002<\/p>\n<ul>\n<li>inter &lt;delay&gt;\uff1a\u8bbe\u5b9a\u5065\u5eb7\u72b6\u6001\u68c0\u67e5\u7684\u65f6\u95f4\u95f4\u9694\uff0c\u5355\u4f4d\u4e3a\u6beb\u79d2\uff0c\u9ed8\u8ba4\u4e3a2000\uff1b\u4e5f\u53ef\u4ee5\u4f7f\u7528fastinter\u548cdowninter\u6765\u6839\u636e\u670d\u52a1\u5668\u7aef\u72b6\u6001\u4f18\u5316\u6b64\u65f6\u95f4\u5ef6\u8fdf\uff1b<\/li>\n<li>fastinter &lt;delay&gt;\uff1a\u8fc7\u6e21\u4e0a\u67b6\u3001\u8fc7\u6e21\u4e0b\u67b6\u7684\u68c0\u67e5\u65f6\u95f4\u95f4\u9694\u3002<\/li>\n<li>downinter &lt;delay&gt;\uff1a\u5f53\u540e\u7aef\u670d\u52a1\u5668\u4e0b\u67b6\u540e\uff0c\u68c0\u67e5\u7684\u65f6\u95f4\u95f4\u9694\u3002<\/li>\n<li>rise &lt;count&gt;\uff1a\u8bbe\u5b9a\u5065\u5eb7\u72b6\u6001\u68c0\u67e5\u4e2d\uff0c\u67d0\u79bb\u7ebf\u7684server\u4ece\u79bb\u7ebf\u72b6\u6001\u8f6c\u6362\u81f3\u6b63\u5e38\u72b6\u6001\u9700\u8981\u6210\u529f\u68c0\u67e5\u7684\u6b21\u6570\uff1b<\/li>\n<li>fall &lt;count&gt;\uff1a\u786e\u8ba4server\u4ece\u6b63\u5e38\u72b6\u6001\u8f6c\u6362\u4e3a\u4e0d\u53ef\u7528\u72b6\u6001\u9700\u8981\u68c0\u67e5\u7684\u6b21\u6570\u3002<\/li>\n<\/ul>\n<p>\u4e3e\u4f8b\u8bf4\u660e\uff1a<\/p>\n<pre>server  web1 192.168.80.121:80 check fastinter 10s downinter 60s rise 3 fall 3<\/pre>\n<p>\u4e0b\u9762\u6765\u770b\u6839\u636e\u4e0a\u9762\u7684\u8bbe\u7f6e\uff0c\u6765\u770b\u670d\u52a1\u5668\u4e0a\u7ebf\u3001\u4e0b\u7ebf\u4ea7\u751f\u7684\u65e5\u5fd7\uff0c\u4e3b\u8981\u770b\u65f6\u95f4\u7684\u53d8\u5316\u3002<\/p>\n<pre>[20\/Feb\/2017:03:30:20 +0000] \"GET \/index.html HTTP\/1.0\" 200  \/\/\u6b63\u5e38\u8fd0\u884c\u6bcf2s\u68c0\u67e5\u4e00\u6b21\r\n[20\/Feb\/2017:03:30:22 +0000] \"GET \/index.html HTTP\/1.0\" 200  \r\n[20\/Feb\/2017:03:30:24 +0000] \"GET \/index.html HTTP\/1.0\" 200\r\n[20\/Feb\/2017:03:30:26 +0000] \"GET \/index.html HTTP\/1.0\" 200\r\n[20\/Feb\/2017:03:30:28 +0000] \"GET \/index.html HTTP\/1.0\" 200\r\n[20\/Feb\/2017:03:30:30 +0000] \"GET \/index.html HTTP\/1.0\" 404 \/\/\u7b2c\u4e00\u53d1\u73b0404\uff0c\u51c6\u5907\u4e0b\u67b6\r\n[20\/Feb\/2017:03:30:40 +0000] \"GET \/index.html HTTP\/1.0\" 404 \/\/\u7b2c\u4e8c\u6b21\u53d1\u73b0404\uff0c\u969410s\r\n[20\/Feb\/2017:03:30:50 +0000] \"GET \/index.html HTTP\/1.0\" 404 \/\/\u7b2c\u4e09\u6b21\u53d1\u73b0404\uff0c\u969410s\r\n[20\/Feb\/2017:03:31:50 +0000] \"GET \/index.html HTTP\/1.0\" 404 \/\/\u4e0b\u67b6\u5b8c\u6210\uff0c\u68c0\u67e5\u95f4\u969460s\r\n[20\/Feb\/2017:03:32:50 +0000] \"GET \/index.html HTTP\/1.0\" 404 \/\/\u4e0b\u67b6\u68c0\u67e560s\r\n[20\/Feb\/2017:03:33:50 +0000] \"GET \/index.html HTTP\/1.0\" 404 \/\/\u4e0b\u67b6\u68c0\u67e560s\r\n[20\/Feb\/2017:03:34:50 +0000] \"GET \/index.html HTTP\/1.0\" 200 \/\/\u7b2c\u4e00\u6b21\u53d1\u73b0200\uff0c\u51c6\u5907\u4e0a\u67b6\r\n[20\/Feb\/2017:03:35:00 +0000] \"GET \/index.html HTTP\/1.0\" 200 \/\/\u7b2c\u4e8c\u6b21\u53d1\u73b0\uff0c\u95f4\u969410s\r\n[20\/Feb\/2017:03:35:10 +0000] \"GET \/index.html HTTP\/1.0\" 200 \/\/\u7b2c\u4e09\u6b21\u53d1\u73b0\uff0c\u95f4\u969410s\r\n[20\/Feb\/2017:03:35:12 +0000] \"GET \/index.html HTTP\/1.0\" 200 \/\/ \u4e0a\u67b6\u5b8c\u6210\u6bcf2s\u68c0\u67e5\u4e00\u6b21\r\n[20\/Feb\/2017:03:35:14 +0000] \"GET \/index.html HTTP\/1.0\" 200\r\n[20\/Feb\/2017:03:35:16 +0000] \"GET \/index.html HTTP\/1.0\" 200<\/pre>\n<p>\u4e5f\u53ef\u4ee5\u8bbe\u7f6e\u5728global-default\u4e2d\uff0c\u5982\u4e0b\uff1a<\/p>\n<pre>default-server port 8080 weight 1 inter 2000 downinter 60s rise 3 fall 3\r\nserver  web1 192.168.80.121:80 check<\/pre>\n<ul>\n<li>\n<h1>init-addr {last | libc | none | &lt;ip&gt;},[\u2026]*<\/h1>\n<\/li>\n<li>\n<h1>no-ssl-reuse\u3001no-sslv3\u3001no-tls-tickets<br \/>\nno-tlsv10\u3001no-tlsv11\u3001no-tlsv12\u3001non-stick<\/h1>\n<\/li>\n<li>\n<h1>on-marked-down &lt;action&gt;\u3001on-marked-up &lt;action&gt;<\/h1>\n<\/li>\n<li>\n<h1>redir &lt;prefix&gt;<\/h1>\n<\/li>\n<\/ul>\n<p>default-server:\u4e0d\u652f\u6301<\/p>\n<ul>\n<li>\n<h1>resolve-prefer &lt;family&gt;<br \/>\nresolve-net &lt;network&gt;[,&lt;network[,\u2026]]<br \/>\nresolvers &lt;id&gt;<\/h1>\n<\/li>\n<\/ul>\n<p>\u8fd9\u4e09\u4e2a\u90fd\u662f\u548cHaproxy\u4e2d\u7684 DNS \u76f8\u5173\u7684\uff0c\u5176\u4e2d resolve-net \u8fd8\u6ca1\u6709\u627e\u5230\u76f8\u5173\u7684\u8d44\u6599\uff0cresolvers \u548c resolve-prefer\u90fd\u6bd4\u8f83\u597d\u7406\u89e3\u3002<\/p>\n<p><strong>Tips 1\uff1a<\/strong>\u8fd9\u4e2a\u5730\u65b9\u8bbe\u7f6e\u548c resolvers \u7684\u8bed\u53e5\u3001\u8bed\u6cd5\u662f\u76f8\u5173\u7684\uff0c\u63a8\u8350\u9605\u8bfb\u6587\u7ae0\uff1a<a title=\"Haproxy\u4e2dDNS\u7684\u89e3\u6790\u914d\u7f6e\" href=\"http:\/\/www.hangdaowangluo.com\/archives\/1681\" target=\"_blank\" rel=\"noopener\">Haproxy\u4e2dDNS\u7684\u89e3\u6790\u914d\u7f6e<\/a><\/p>\n<p><strong>Tips 2\uff1a<\/strong>\u4e3e\u4f8b\u8bf4\u660e<\/p>\n<pre>resolvers mydns\r\n    nameserver dns1 192.168.80.1:53\r\n    resolve_retries       3\r\n    timeout retry         1s\r\n    hold other           30s\r\n    hold refused         30s\r\n    hold nx              30s\r\n    hold timeout         30s\r\n    hold valid           10s<\/pre>\n<pre>server  web1 121.100.com check resolvers mydns resolve-prefer ipv4<\/pre>\n<ul>\n<li>\n<h1>send-proxy<\/h1>\n<\/li>\n<li>\n<h1>send-proxy-v2<\/h1>\n<\/li>\n<li>\n<h1>send-proxy-v2-ssl<\/h1>\n<\/li>\n<li>\n<h1>send-proxy-v2-ssl-cn<\/h1>\n<\/li>\n<li>\n<h1>slowstart &lt;start_time_in_ms&gt;<\/h1>\n<\/li>\n<li>\n<h1>sni &lt;expression&gt;<\/h1>\n<\/li>\n<li>\n<h1>source &lt;addr&gt;[:&lt;pl&gt;[-&lt;ph&gt;]] [usesrc { &lt;addr2&gt;[:&lt;port2&gt;] | client | clientip } ]<br \/>\nsource &lt;addr&gt;[:&lt;port&gt;] [usesrc { &lt;addr2&gt;[:&lt;port2&gt;] | hdr_ip(&lt;hdr&gt;[,&lt;occ&gt;]) } ]<br \/>\nsource &lt;addr&gt;[:&lt;pl&gt;[-&lt;ph&gt;]] [interface &lt;name&gt;] \u2026<\/h1>\n<\/li>\n<li>\n<h1>ssl<\/h1>\n<\/li>\n<li>\n<h1>tcp-ut &lt;delay&gt;<\/h1>\n<\/li>\n<li>\n<h1>track [&lt;proxy&gt;\/]&lt;server&gt;<\/h1>\n<\/li>\n<li class=\"p1\">\n<h1 class=\"p1\"><span class=\"s1\"><b>verify<\/b><\/span>\u00a0<span class=\"s3\">[none|required]\u3001<\/span><span class=\"s1\"><b>verifyhost<\/b><\/span>\u00a0<span class=\"s3\">&lt;hostname&gt;<\/span><\/h1>\n<\/li>\n<\/ul>\n<p class=\"p1\">default-server:\u4e0d\u652f\u6301<\/p>\n<ul>\n<li class=\"p1\">\n<h1><span class=\"s1\"><b>weight<\/b><\/span>\u00a0<span class=\"s3\">&lt;weight&gt;<\/span><\/h1>\n<\/li>\n<\/ul>\n<p>\u540e\u7aef\u670d\u52a1\u5668\u7ec4\u7684\u8d1f\u8f7d\u6743\u91cd\uff0c\u9ed8\u8ba4\u503c\u662f1\uff0c\u8bbe\u7f6e\u8303\u56f4\u57280-256\u4e4b\u95f4\uff0c\u8bbe\u7f6e\u4e3a0\u8868\u793a\u4e0d\u53c2\u4e0e\u8d1f\u8f7d\u3002<\/p>\n<p>\u4e3e\u4f8b\u8bf4\u660e\uff1a<\/p>\n<pre>option httpchk GET \/index.html\r\ndefault-server port 8080 weight 2\r\nserver  web1 192.168.80.121 check weight 5 \/\/\u6743\u91cd5:9\r\nserver  web2 192.168.80.122 check  \/\/\u6743\u91cd2:9\r\nserver  web2 192.168.80.123 check  \/\/\u6743\u91cd2:9<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>server\u7684\u8bbe\u7f6e\u5305\u62ecserver\u548cdefault-server\u4e24\u79cd\uff0c\u8fd9\u4e24\u79cd\u533a\u522b\u5728\u4e8edefault-server\u662f\u591a\u7ec4server\u7684\u516c\u7528\u8bbe\u7f6e\u3002\u4e00\u822c\u6d89\u53ca\u5230\u591a\u7ec4\u670d\u52a1\u5668\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u516c\u7528default-server\uff0c\u5176\u4ed6\u7684server\u5c06\u7ee7\u627fdefault-server\u7684\u8bbe\u7f6e\u3002 \u5b98\u65b9\u7684\u53c2\u8003\u6587\u6863\uff1ahttp:\/\/cbonte.github.io\/haproxy-dconv\/1.7\/configuration.html#5.2-addr \u8fd92\u4e2a\u547d\u4ee4\u7684\u8bbe\u7f6e\u683c\u5f0f\uff1a &nbsp; server &lt;name&gt; &lt;address&gt;[:port] [settings &#8230;] default-server [settings &#8230;] \u5176\u4e2dname\u3001address\u662f\u5fc5\u987b\u7684\uff0cport\u662f\u53ef\u9009\uff0c\u7701\u7565\u7684\u8bdd\uff0c\u9ed8\u8ba4\u662f80\u7aef\u53e3\u3002 Tips 1\uff1a\u8bf7\u6ce8\u610f\u4ee5\u4e0b2\u79cd\u8bbe\u7f6e\u7684\u533a\u522b\uff0c port\u8bbe\u7f6e\u7684\u5065\u5eb7\u68c0\u67e5\u7684\u7aef\u53e3 server web1 192.168.80.121 port 8080 check \/\/\u8bf7\u6c42\u8f6c\u53d1\u523080\u7aef\u53e3\uff0c\u800c\u5065\u5eb7\u68c0\u67e5\u662f8080\u7aef\u53e3 server web2 192.168.80.122:8080 check \/\/\u8bf7\u6c42\u8f6c\u53d1\u548c\u5065\u5eb7\u68c0\u67e5\u90fd\u662f\u75288080\u7aef\u53e3 \u4f46\u4e0d\u80fd\u8bbe\u7f6e\u6210 web1 192.168.80.121,\u8bbe\u7f6e\u6210\u8fd9\u79cd\u683c\u5f0f\u5c06\u65e0\u6cd5\u542f\u52a8haproxy \u4e0b\u9762\u9010\u4e2a\u4ecb\u7ecd\u4e0bsetting\uff0c\u4e00\u822c\u60c5\u51b5\u4e0bsetting\u53ef\u4ee5\u5728server\u548cdefault-server\u4e2d\u901a\u7528\uff0c\u5982\u679c\u6709\u4e2a\u522b\u4e0d\u901a\u7528\u7684\u8bbe\u7f6e\uff0c\u6211\u5c06\u6807\u8bc6\u51fa\u6765\u3002 addr &lt;ipv4|ipv6&gt;\u3001port &lt;port&gt; default-server\uff1aaddr \u4e0d\u652f\u6301\uff0cport \u652f\u6301\uff0c\u8fd9\u4e5f\u8bf4\u660e\uff0c\u5065\u5eb7\u68c0\u67e5\u53ea\u80fd\u662f\u9488\u5bf9\u67d0\u4e00\u4e2a\u7279\u5b9a\u7684\u540e\u7aef\u670d\u52a1\u5668\u3002 \u5065\u5eb7\u68c0\u67e5\u7684\u4e13\u7528\u5730\u5740\u548c\u7aef\u53e3\uff0c\u5982\u679c\u672a\u8bbe\u7f6e\uff0c\u5c06\u4f7f\u7528\u540e\u7aef\u7684\u670d\u52a1\u5668\u5730\u5740\u548c\u7aef\u53e3\u3002 \u4e3e\u4f8b\u8bf4\u660e\uff1a \/\/\u540e\u7aef\u670d\u52a1\u4f7f\u7528192.168.80.121:80 ,\u800c\u5065\u5eb7\u68c0\u67e5\u4f7f\u7528 192.168.80.122:8080 server web1 192.168.80.121 addr 192.168.80.122 port 8080 check default-server port 80 server [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-18647","post","type-post","status-publish","format-standard","hentry","category-os"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/18647","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=18647"}],"version-history":[{"count":1,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/18647\/revisions"}],"predecessor-version":[{"id":18648,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/18647\/revisions\/18648"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=18647"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=18647"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=18647"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}