{"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\/ro\/blog\/news\/vypusk-http-tcp-balansirovshhika-haproxy-2-0","title":{"rendered":"Lansarea echilibratorului de \u00eenc\u0103rcare HTTP\/TCP 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\/\">Publicat<\/a><\/noindex> lansarea echilibratorului de sarcin\u0103 <noindex><a rel=\"nofollow\" href=\"http:\/\/www.haproxy.org\">HAProxy 2.0<\/a><\/noindex>, care permite distribuirea traficului HTTP \u0219i a solicit\u0103rilor TCP arbitrare \u00eentre un grup de servere, av\u00e2nd \u00een vedere numero\u0219i factori (de exemplu, verific\u0103 disponibilitatea serverelor, evalueaz\u0103 nivelul de \u00eenc\u0103rcare, are instrumente \u00eempotriva DDoS) \u0219i efectueaz\u0103 o filtrare primar\u0103 a datelor (de exemplu, pot fi analizate anteturile HTTP, filtrate transferurile de parametrii incorec\u021bi, blocate injec\u021biile SQL \u0219i XSS, conectat\u0103 agen\u021bi de procesare a con\u021binutului). HAProxy poate <noindex><a rel=\"nofollow\" href=\"https:\/\/www.haproxy.com\/solutions\/microservices\/\">fi utilizat<\/a><\/noindex> pentru a coordona interac\u021biunea componentelor \u00een sistemele bazate pe arhitectura microserviciilor. Codul proiectului este scris \u00een limbajul C \u0219i <noindex><a rel=\"nofollow\" href=\"http:\/\/git.haproxy.org\/\">este livrat<\/a><\/noindex> sub licen\u021ba GPLv2. Proiectul este folosit pe multe site-uri mari, inclusiv Airbnb, Alibaba, GitHub, Imgur, Instagram, Reddit, StackOverflow, Tumblr, Twitter \u0219i Vimeo.<\/p>\n<p>Caracteristici cheie ale versiunii:<\/p>\n<ul>\n<li class=\"l\"> A fost introdus un nou API <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/haproxytech\/dataplaneapi\">Data Plan<\/a><\/noindex>, care permite gestionarea \u00een timp real a set\u0103rilor HAProxy prin REST Web API. De asemenea, este posibil s\u0103 ad\u0103uga\u021bi \u0219i s\u0103 elimina\u021bi dinamic backend-uri \u0219i servere, s\u0103 crea\u021bi ACL-uri, s\u0103 modifica\u021bi rutarea cererilor, s\u0103 schimba\u021bi leg\u0103turile handler-elor la IP;\n<li class=\"l\"> A fost ad\u0103ugat\u0103 directiva nbthread, care permite configurarea num\u0103rului de threaduri utilizate \u00een HAProxy pentru a optimiza func\u021bionarea pe CPU-uri multicore. \u00cen mod implicit, num\u0103rul de threaduri de lucru este ales \u00een func\u021bie de nucleele CPU disponibile \u00een mediu, iar \u00een medii cloud, \u00een mod implicit, este setat un singur thread. Pentru a stabili limite stricte, au fost ad\u0103ugate op\u021biunile de compilare MAX_THREADS \u0219i MAX_PROCS, care limiteaz\u0103 plafonul maxim pentru num\u0103rul de threaduri \u0219i procese;\n<li class=\"l\"> Utilizarea directivei bind pentru asocierea handler-elor cu adresele de re\u021bea a fost simplificat\u0103. La configurare, acum nu mai este necesar\u0103 definirea parametrilor procesului \u2014 implicit, conexiunile vor fi distribuite pe fire \u00een func\u021bie de num\u0103rul de conexiuni active.\n<li class=\"l\"> Configurarea fi\u0219ierelor de log a fost simplificat\u0103 pentru rularea \u00een containere izolate \u2014 logul poate fi acum direc\u021bionat c\u0103tre stdout \u0219i stderr, precum \u0219i c\u0103tre orice descriptor de fi\u0219ier existent (de exemplu, \u00ablog fd@1 local0\u00bb);\n<li class=\"l\"> Suportul HTX (Reprezentarea HTTP nativ\u0103) este activat implicit, permi\u021b\u00e2nd echilibrarea \u00eenc\u0103rc\u0103rii \u00een utilizarea unor func\u021bionalit\u0103\u021bi avansate, cum ar fi HTTP\/2 end-to-end, retry-uri Layer 7 \u0219i gRPC. HTX nu \u00eenlocuie\u0219te antetele \u00een loc, ci reduce opera\u021bia de modificare la eliminarea \u0219i ad\u0103ugarea unui nou antet la sf\u00e2r\u0219itul listei, permi\u021b\u00e2nd manipularea oric\u0103ror variante avansate ale protocolului HTTP, p\u0103str\u00e2nd semantica original\u0103 a antetelor \u0219i permi\u021b\u00e2nd o performan\u021b\u0103 mai ridicat\u0103 \u00een traducerea HTTP\/2 \u00een HTTP\/1.1 \u0219i invers;\n<li class=\"l\"> A fost ad\u0103ugat suport oficial pentru modul End-to-End HTTP\/2 (gestionarea tuturor etapelor \u00een HTTP\/2, inclusiv apelurile c\u0103tre backend, nu doar interac\u021biunea proxy-ului cu clientul);\n<li class=\"l\"> Suportul complet pentru proxy-ingul bidirec\u021bional al protocolului gRPC a fost implementat, av\u00e2nd capacitatea de a analiza fluxurile gRPC, eviden\u021biind mesaje individuale, reflect\u00e2nd traficul gRPC \u00een jurnal \u0219i filtr\u00e2nd mesajele prin intermediul ACL. gRPC permite organizarea lucrului microservicelor \u00een diverse limbaje de programare care interac\u021bioneaz\u0103 \u00eentre ele prin intermediul unei API universale. Interac\u021biunea de re\u021bea \u00een gRPC este implementat\u0103 deasupra protocolului HTTP\/2 \u0219i se bazeaz\u0103 pe utilizarea Protocol Buffers pentru serializarea datelor.\n<li class=\"l\"> A fost ad\u0103ugat suport pentru modul \u00abLayer 7 Retries\u00bb, care permite retrimiterea cererilor HTTP \u00een caz de e\u0219ecuri software, nelegat de problemele de stabilire a conexiunii de re\u021bea (de exemplu, \u00een cazul lipsei unui r\u0103spuns sau a unui r\u0103spuns gol la o cerere POST). Pentru a dezactiva modul, \u00eentr-o op\u021biune \u00abhttp-request\u00bb a fost ad\u0103ugat un flag \u00abdisable-l7-retry\u00bb, iar pentru ajust\u0103ri fine \u00een sec\u021biunile defaults, listen \u0219i backend a ap\u0103rut op\u021biunea \u00abretry-on\u00bb. Urm\u0103toarele semne sunt disponibile pentru retrimitere: all-retryable-errors, none, conn-failure, empty-response, junk-response, response-timeout, 0rtt-rejected, precum \u0219i leg\u0103tura cu codurile de stare returnate (404 etc.);\n<li class=\"l\"> Un nou manager de procese (Process Manager) a fost implementat, permi\u021b\u00e2nd configurarea apelului fi\u0219ierelor executabile externe cu gestionare pentru HAProxy.<br \/>\nDe exemplu, un astfel de gestionator extern a fost realizat \u00een cadrul API Data Plan (usr\/sbin\/dataplaneapi), precum \u0219i diverse motoare de procesare Offload;<\/p>\n<li class=\"l\"> Pentru .NET Core, Go, Lua \u0219i Python au fost ad\u0103ugate binding-uri pentru dezvoltarea extensiilor SPOE (Stream Processing Offload Engine) \u0219i SPOP (Stream Processing Offload Protocol). Precedent, dezvoltarea extensiilor era suportat\u0103 doar \u00een C;\n<li class=\"l\"> A fost ad\u0103ugat un handler extern spoa-mirror (\\\/usr\\\/sbin\\\/spoa-mirror) pentru oglindirea cererilor pe un server separat (de exemplu, pentru copierea unei p\u0103r\u021bi din traficul de lucru pentru a testa un mediu experimental sub o sarcin\u0103 real\u0103);\n<li class=\"l\"> Prezentat  <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/haproxytech\/kubernetes-ingress\/\">Controllerul Ingress HAProxy pentru Kubernetes<\/a><\/noindex> pentru a asigura integrarea cu platforma Kubernetes;\n<li class=\"l\"> A fost ad\u0103ugat\u0103 suport \u00eencorporat pentru exportul statisticilor \u00een sistemul de monitorizare <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/\">Prometheus<\/a><\/noindex>;\n<li class=\"l\"> Protocolul Peers Protocol a fost extins, fiind utilizat pentru schimbul de informa\u021bii cu alte noduri HAProxy. Printre altele, a fost ad\u0103ugat\u0103 suport pentru Heartbeat \u0219i transmiterea datelor criptate;\n<li class=\"l\"> In directivei \u00ablog\u00bb a fost ad\u0103ugat un parametru \u00absample\u00bb, care permite salvarea \u00een log doar a unei p\u0103r\u021bi din cereri, de exemplu 1 din 10, pentru a forma un e\u0219antion analitic;\n<li class=\"l\"> A fost ad\u0103ugat un mod de profilare automat\u0103 (directiva profiling.tasks, care poate accepta valorile auto, on \u0219i off). Profilarea automat\u0103 se activeaz\u0103 dac\u0103 valoarea medie a \u00eent\u00e2rzierii dep\u0103\u0219e\u0219te pragul de 1000 ms. Pentru a vizualiza datele de profilare \u00een API-ul Runtime, a fost ad\u0103ugat\u0103 comanda \u00abshow profiling\u00bb sau exist\u0103 posibilitatea reset\u0103rii statisticilor \u00een log;\n<li class=\"l\"> A fost ad\u0103ugat suport pentru apelarea serverelor backend folosind protocolul SOCKS4;\n<li class=\"l\"> A fost ad\u0103ugat\u0103 suportul final (end-to-end, pe parcursul proces\u0103rii cererii, acoperind backend-ul) pentru mecanismul de deschidere rapid\u0103 a conexiunilor TCP (TFO \u2014 TCP Fast Open, RFC 7413), care reduce num\u0103rul de pa\u0219i necesari pentru stabilirea conexiunii prin combinarea \u00een o singur\u0103 cerere a primelor dou\u0103 etape ale procesului de negociere de tip 3-pasi \u0219i permite trimiterea de date \u00een etapa ini\u021bial\u0103 a stabilirii conexiunii;\n<li class=\"l\"> Au fost ad\u0103ugate noi ac\u021biuni:\n<ul>\n<li class=\"l\"> \u00abhttp-request replace-uri\u00bb pentru \u00eenlocuirea URL-ului folosind expresii regulate;\n<li class=\"l\"> \u00abtcp-request content do-resolve\u00bb \u0219i \u00abhttp-request do-resolve\u00bb pentru rezolvarea numelui gazdei;\n<li class=\"l\">  \u00abtcp-request content set-dst\u00bb \u0219i \u00abtcp-request content set-dst-port\u00bb pentru \u00eenlocuirea adresei IP \u021bint\u0103 \u0219i a portului.\n<\/ul>\n<li class=\"l\"> Au fost ad\u0103ugate noi module de conversie:\n<ul>\n<li class=\"l\"> aes_gcm_dev pentru decriptarea fluxurilor folosind algoritmii AES128-GCM, AES192-GCM \u0219i AES256-GCM;\n<li class=\"l\"> protobuf pentru extragerea c\u00e2mpurilor din mesajele Protocol Buffers;\n<li class=\"l\"> ungrpc pentru extragerea c\u00e2mpurilor din mesajele gRPC.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Sursa: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50904\">opennet.ro<\/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.2.1 - 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\/ro\/blog\/news\/vypusk-http-tcp-balansirovshhika-haproxy-2-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47Lansarea echilibratorului de \u00eenc\u0103rcare HTTP\\\/TCP HAProxy 2.0 | ProHoster","description":"A fost lansat\u0103 versiunea controlerului de \u00eenc\u0103rcare HAProxy.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-http-tcp-balansirovshhika-haproxy-2-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/35486","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=35486"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/35486\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=35486"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=35486"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=35486"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}