{"id":35486,"date":"2019-10-31T22:04:36","date_gmt":"2019-10-31T19:04:36","guid":{"rendered":"https:\/\/prohoster.info\/blog\/vypusk-http-tcp-balansirovshhika-haproxy-2-0\/"},"modified":"2019-10-31T22:04:36","modified_gmt":"2019-10-31T19:04:36","slug":"vypusk-http-tcp-balansirovshhika-haproxy-2-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-http-tcp-balansirovshhika-haproxy-2-0","title":{"rendered":"Vyd\u00e1n\u00ed HTTP\/TCP vyrovn\u00e1va\u010de z\u00e1t\u011b\u017ee HAProxy 2.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.haproxy.com\/blog\/haproxy-2-0-and-beyond\/\">Byl zve\u0159ejn\u011bn<\/a><\/noindex> vyd\u00e1n\u00ed load balanceru <noindex><a rel=\"nofollow\" href=\"http:\/\/www.haproxy.org\">HAProxy 2.0<\/a><\/noindex>, kter\u00fd umo\u017e\u0148uje distribuovat HTTP provoz a libovoln\u00e9 TCP po\u017eadavky mezi skupinou server\u016f, bere v \u00favahu \u0159adu faktor\u016f (nap\u0159\u00edklad kontroluje dostupnost server\u016f, hodnot\u00ed \u00farove\u0148 z\u00e1t\u011b\u017ee, m\u00e1 prost\u0159edky proti DDoS) a prov\u00e1d\u00ed prim\u00e1rn\u00ed filtraci dat (nap\u0159\u00edklad je mo\u017en\u00e9 analyzovat HTTP hlavi\u010dky, filtrovat p\u0159ed\u00e1v\u00e1n\u00ed nespr\u00e1vn\u00fdch parametr\u016f po\u017eadavku, blokovat SQL injection a XSS, zapojovat agenty pro zpracov\u00e1n\u00ed obsahu). HAProxy tak\u00e9 m\u016f\u017ee <noindex><a rel=\"nofollow\" href=\"https:\/\/www.haproxy.com\/solutions\/microservices\/\">b\u00fdt aplikov\u00e1ny<\/a><\/noindex> pro koordinaci interakce komponent v syst\u00e9mech zalo\u017een\u00fdch na mikroservisn\u00ed architektu\u0159e. K\u00f3d projektu je naps\u00e1n v jazyce C a <noindex><a rel=\"nofollow\" href=\"http:\/\/git.haproxy.org\/\">dod\u00e1v\u00e1 se<\/a><\/noindex> je licencov\u00e1n pod GPLv2. Projekt se pou\u017e\u00edv\u00e1 na mnoha velk\u00fdch webech, v\u010detn\u011b Airbnb, Alibaba, GitHub, Imgur, Instagram, Reddit, StackOverflow, Tumblr, Twitter a Vimeo.<\/p>\n<p>Kl\u00ed\u010dov\u00e9 vlastnosti vyd\u00e1n\u00ed:<\/p>\n<ul>\n<li class=\"l\"> P\u0159edstaven\u00e9 nov\u00e9 API <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/haproxytech\/dataplaneapi\">Data Plan<\/a><\/noindex>, kter\u00e9 umo\u017e\u0148uje spravovat nastaven\u00ed HAProxy za b\u011bhu prost\u0159ednictv\u00edm REST Web API. Mezi jin\u00fdm lze dynamicky p\u0159id\u00e1vat a odstra\u0148ovat backendy a servery, vytv\u00e1\u0159et ACL, m\u011bnit sm\u011brov\u00e1n\u00ed po\u017eadavk\u016f, m\u011bnit vazby zpracovatel\u016f na IP;\n<li class=\"l\"> Byla p\u0159id\u00e1na direktiva nbthread, kter\u00e1 umo\u017e\u0148uje nastavit po\u010det vl\u00e1ken pou\u017e\u00edvan\u00fdch v HAProxy pro optimalizaci provozu na v\u00edcej\u00e1drov\u00fdch CPU. Ve v\u00fdchoz\u00edm nastaven\u00ed se po\u010det pracovn\u00edch vl\u00e1ken vyb\u00edr\u00e1 podle dostupn\u00fdch jader CPU v aktu\u00e1ln\u00edm prost\u0159ed\u00ed, a v cloudov\u00fdch prost\u0159ed\u00edch se ve v\u00fdchoz\u00edm nastaven\u00ed nastavuje jedno vl\u00e1kno. Pro stanoven\u00ed p\u0159\u00edsn\u00fdch limit\u016f byly p\u0159id\u00e1ny mo\u017enosti sestaven\u00ed MAX_THREADS a MAX_PROCS, kter\u00e9 omezuj\u00ed horn\u00ed mez pro po\u010det vl\u00e1ken a proces\u016f;\n<li class=\"l\"> Jednodu\u0161en\u00e9 pou\u017eit\u00ed direktivy bind pro vazbu handler\u016f na s\u00ed\u0165ov\u00e9 adresy. P\u0159i konfiguraci ji\u017e nen\u00ed nutn\u00e9 definovat parametry procesu \u2014 ve v\u00fdchoz\u00edm nastaven\u00ed budou spojen\u00ed rozd\u011blena do vl\u00e1ken podle po\u010dtu aktivn\u00edch spojen\u00ed.\n<li class=\"l\"> Zjednodu\u0161en\u00e1 konfigurace log\u016f p\u0159i spu\u0161t\u011bn\u00ed v izolovan\u00fdch kontejnerech \u2014 log nyn\u00ed lze sm\u011brovat do stdout a stderr, stejn\u011b jako do jak\u00e9hokoli existuj\u00edc\u00edho souborov\u00e9ho deskriptoru (nap\u0159\u00edklad \u201elog fd@1 local0\u201c);\n<li class=\"l\"> Ve v\u00fdchoz\u00edm nastaven\u00ed je aktivov\u00e1na podpora HTX (Native HTTP Representation), kter\u00e1 zaji\u0161\u0165uje vyva\u017eov\u00e1n\u00ed p\u0159i vyu\u017e\u00edv\u00e1n\u00ed roz\u0161\u00ed\u0159en\u00fdch funkc\u00ed, jako jsou end-to-end HTTP\/2, Layer 7 Retries a gRPC. HTX nenahrazuje hlavi\u010dky na m\u00edst\u011b, ale prov\u00e1d\u00ed operaci \u00fapravy t\u00edm, \u017ee odstra\u0148uje a p\u0159id\u00e1v\u00e1 novou hlavi\u010dku na konec seznamu, co\u017e umo\u017e\u0148uje manipulaci s jak\u00fdmikoli roz\u0161\u00ed\u0159en\u00fdmi variantami protokolu HTTP, p\u0159i\u010dem\u017e zachov\u00e1v\u00e1 p\u016fvodn\u00ed s\u00e9mantiku hlavi\u010dek a umo\u017e\u0148uje dos\u00e1hnout vy\u0161\u0161\u00ed v\u00fdkonnosti p\u0159i p\u0159ekladu HTTP\/2 na HTTP\/1.1 a naopak;\n<li class=\"l\"> Byla p\u0159id\u00e1na ofici\u00e1ln\u00ed podpora re\u017eimu End-to-End HTTP\/2 (zpracov\u00e1n\u00ed v\u0161ech f\u00e1z\u00ed v HTTP\/2, v\u010detn\u011b vol\u00e1n\u00ed na backend, a nikoli pouze interakce proxy s klientem);\n<li class=\"l\"> Byla implementov\u00e1na kompletn\u00ed podpora obousm\u011brn\u00e9ho proxy protokolu gRPC s mo\u017enost\u00ed anal\u00fdzy gRPC tok\u016f, zviditel\u0148uj\u00edc\u00ed jednotliv\u00e9 zpr\u00e1vy, odr\u00e1\u017eej\u00edc\u00ed gRPC provoz v logu a filtruj\u00edc\u00ed zpr\u00e1vy pomoc\u00ed ACL. gRPC umo\u017e\u0148uje organizaci mikroservis\u016f v r\u016fzn\u00fdch programovac\u00edch jazyc\u00edch, kter\u00e9 spolu komunikuj\u00ed prost\u0159ednictv\u00edm univerz\u00e1ln\u00edho API. S\u00ed\u0165ov\u00e1 interakce v gRPC je realizov\u00e1na nad protokolem HTTP\/2 a je zalo\u017eena na pou\u017eit\u00ed Protocol Buffers pro serializaci dat.\n<li class=\"l\"> P\u0159id\u00e1na podpora re\u017eimu \u201eLayer 7 Retries\u201c, kter\u00fd umo\u017e\u0148uje odeslat opakovan\u00e9 HTTP po\u017eadavky v p\u0159\u00edpad\u011b programov\u00fdch chyb, kter\u00e9 nesouvis\u00ed s probl\u00e9my s ustanoven\u00edm s\u00ed\u0165ov\u00e9ho spojen\u00ed (nap\u0159\u00edklad p\u0159i absenci odpov\u011bdi nebo pr\u00e1zdn\u00e9 odpov\u011bdi na POST po\u017eadavek). Pro deaktivaci re\u017eimu byl do volby \u201ehttp-request\u201c p\u0159id\u00e1n p\u0159\u00edznak \u201edisable-l7-retry\u201c a pro jemn\u00e9 lad\u011bn\u00ed v sekc\u00edch defaults, listen a backend se objevila volba \u201eretry-on\u201c. Dostupn\u00e9 jsou n\u00e1sleduj\u00edc\u00ed p\u0159\u00edznaky pro opakovan\u00e9 odesl\u00e1n\u00ed: all-retryable-errors, none, conn-failure, empty-response, junk-response, response-timeout, 0rtt-rejected, a tak\u00e9 vazba na vracen\u00e9 k\u00f3dy stavu (404 atd.);\n<li class=\"l\"> Byl realizov\u00e1n nov\u00fd spr\u00e1vce proces\u016f (Process Manager), kter\u00fd umo\u017e\u0148uje nastavit vol\u00e1n\u00ed extern\u00edch spustiteln\u00fdch soubor\u016f s obslu\u017en\u00fdmi programy pro HAProxy.<br \/>\nNap\u0159\u00edklad ve form\u011b takov\u00e9ho extern\u00edho obslu\u017en\u00e9ho programu byl realizov\u00e1n API Data Plan (\/usr\/sbin\/dataplaneapi), stejn\u011b jako r\u016fzn\u00e9 enginy pro zpracov\u00e1n\u00ed tok\u016f Offload;<\/p>\n<li class=\"l\"> Pro .NET Core, Go, Lua a Python byly p\u0159id\u00e1ny vazby pro v\u00fdvoj roz\u0161\u00ed\u0159en\u00ed SPOE (Stream Processing Offload Engine) a SPOP (Stream Processing Offload Protocol). D\u0159\u00edve byla podpora v\u00fdvoje roz\u0161\u00ed\u0159en\u00ed k dispozici pouze pro C;\n<li class=\"l\"> Byl p\u0159id\u00e1n extern\u00ed zpracovatel spoa-mirror (\/usr\/sbin\/spoa-mirror) pro zrcadlen\u00ed po\u017eadavk\u016f na samostatn\u00fd server (nap\u0159\u00edklad pro kop\u00edrov\u00e1n\u00ed \u010d\u00e1sti pracovn\u00edho provozu pro testov\u00e1n\u00ed experiment\u00e1ln\u00edho prost\u0159ed\u00ed s re\u00e1ln\u00fdm zat\u00ed\u017een\u00edm);\n<li class=\"l\"> P\u0159edstaven\u00ed  <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/haproxytech\/kubernetes-ingress\/\">HAProxy Kubernetes Ingress Controller<\/a><\/noindex> pro zaji\u0161t\u011bn\u00ed integrace s platformou Kubernetes;\n<li class=\"l\"> Byla p\u0159id\u00e1na vestav\u011bn\u00e1 podpora exportu statistik do monitorovac\u00edho syst\u00e9mu <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/\">Prometheus<\/a><\/noindex>;\n<li class=\"l\"> Byl roz\u0161\u00ed\u0159en protokol Peers Protocol, pou\u017e\u00edvan\u00fd pro v\u00fdm\u011bnu informac\u00ed s jin\u00fdmi uzly s HAProxy. Byla p\u0159id\u00e1na podpora Heartbeat a \u0161ifrovan\u00e9ho p\u0159enosu dat;\n<li class=\"l\"> Do direktivy \u201elog\u201c byl p\u0159id\u00e1n parametr \u201esample\u201c, kter\u00fd umo\u017e\u0148uje ukl\u00e1dat do logu pouze \u010d\u00e1st dotaz\u016f, nap\u0159\u00edklad 1 z 10, pro vytvo\u0159en\u00ed analytick\u00e9ho vzorku;\n<li class=\"l\"> Byl p\u0159id\u00e1n re\u017eim automatick\u00e9ho profilov\u00e1n\u00ed (direktiva profiling.tasks, kter\u00e1 m\u016f\u017ee p\u0159ij\u00edmat hodnoty auto, on a off). Automatick\u00e9 profilov\u00e1n\u00ed se zap\u00edn\u00e1 v p\u0159\u00edpad\u011b, \u017ee pr\u016fm\u011brn\u00e1 doba zpo\u017ed\u011bn\u00ed p\u0159esahuje hranici 1000 ms. Pro zobrazen\u00ed dat profilov\u00e1n\u00ed byla do Runtime API p\u0159id\u00e1na p\u0159\u00edkaz \u201eshow profiling\u201c nebo je mo\u017en\u00e9 vymazat statistiky do logu;\n<li class=\"l\"> Byla p\u0159id\u00e1na podpora pro p\u0159\u00edstup k backendov\u00fdm server\u016fm pomoc\u00ed protokolu SOCKS4;\n<li class=\"l\"> Byla p\u0159id\u00e1na koncov\u00e1 (end-to-end, b\u011bhem zpracov\u00e1n\u00ed po\u017eadavku, zahrnuj\u00edc\u00ed backend) podpora mechanismu rychl\u00e9ho otev\u00edr\u00e1n\u00ed TCP spojen\u00ed (TFO \u2014 TCP Fast Open, RFC 7413), kter\u00fd umo\u017e\u0148uje sn\u00ed\u017eit po\u010det krok\u016f pro ustanoven\u00ed spojen\u00ed kombinov\u00e1n\u00edm prvn\u00edho a druh\u00e9ho kroku klasick\u00e9ho 3-krokov\u00e9ho procesu vyjedn\u00e1v\u00e1n\u00ed spojen\u00ed do jednoho po\u017eadavku a umo\u017e\u0148uje odes\u00edl\u00e1n\u00ed dat v po\u010d\u00e1te\u010dn\u00ed f\u00e1zi ustanoven\u00ed spojen\u00ed;\n<li class=\"l\"> Byly p\u0159id\u00e1ny nov\u00e9 akce:\n<ul>\n<li class=\"l\"> \u201ehttp-request replace-uri\u201c pro nahrazen\u00ed URL pomoc\u00ed regul\u00e1rn\u00edho v\u00fdrazu;\n<li class=\"l\"> \u201etcp-request content do-resolve\u201c a \u201ehttp-request do-resolve\u201c pro resolvov\u00e1n\u00ed n\u00e1zvu hostitele;\n<li class=\"l\">  \u201etcp-request content set-dst\u201c a \u201etcp-request content set-dst-port\u201c pro vlo\u017een\u00ed c\u00edlov\u00e9 IP adresy a portu.\n<\/ul>\n<li class=\"l\"> Byly p\u0159id\u00e1ny nov\u00e9 konverzn\u00ed moduly:\n<ul>\n<li class=\"l\"> aes_gcm_dev pro de\u0161ifrov\u00e1n\u00ed tok\u016f pomoc\u00ed algoritm\u016f AES128-GCM, AES192-GCM a AES256-GCM;\n<li class=\"l\"> protobuf pro extrakci pol\u00ed z zpr\u00e1v Protocol Buffers;\n<li class=\"l\"> ungrpc pro extrakci pol\u00ed z zpr\u00e1v gRPC.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Zdroj: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50904\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 HAProxy 2.0, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c HTTP-\u0442\u0440\u0430\u0444\u0438\u043a \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 TCP-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043c\u0435\u0436\u0434\u0443 \u0433\u0440\u0443\u043f\u043f\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432, \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432, \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0435\u0442 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0438\u043c\u0435\u0435\u0442 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f DDoS) \u0438 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442 \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u0443\u044e \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c HTTP-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438, \u043e\u0442\u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 SQL \u0438 XSS, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0430\u0433\u0435\u043d\u0442\u044b \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430). HAProxy \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-35486","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 HAProxy.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-http-tcp-balansirovshhika-haproxy-2-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a HTTP\/TCP-\u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 HAProxy 2.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 HAProxy.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-http-tcp-balansirovshhika-haproxy-2-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:04:36+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:04:36+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Vyd\u00e1n\u00ed HTTP\/TCP vyrovn\u00e1va\u010de z\u00e1t\u011b\u017ee HAProxy 2.0 | ProHoster","description":"Bylo vyd\u00e1no vyd\u00e1n\u00ed vyrovn\u00e1va\u010de z\u00e1t\u011b\u017ee HAProxy.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-http-tcp-balansirovshhika-haproxy-2-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a HTTP\/TCP-\u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 HAProxy 2.0 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 HAProxy.","og:url":"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-http-tcp-balansirovshhika-haproxy-2-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:04:36+00:00","article:modified_time":"2019-10-31T19:04:36+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35486","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 23:28:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:01:26","updated":"2026-01-21 23:28:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/35486","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=35486"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/35486\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=35486"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=35486"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=35486"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}