{"id":35939,"date":"2019-10-31T22:07:41","date_gmt":"2019-10-31T19:07:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-my-probivali-velikij-kitajskij-faervol-ch-1\/"},"modified":"2019-10-31T22:07:41","modified_gmt":"2019-10-31T19:07:41","slug":"kak-my-probivali-velikij-kitajskij-faervol-ch-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-my-probivali-velikij-kitajskij-faervol-ch-1","title":{"rendered":"Jak przeszli\u015bmy przez Wielki Chi\u0144ski Firewall (cz. 1)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Cze\u015b\u0107 wszystkim!<\/p>\n<p><\/p>\n<p>Na \u0142\u0105czach Nikita \u2013 in\u017cynier systemowy z firmy <strong>SEMrush<\/strong>. Dzi\u015b opowiem wam o zadaniu, kt\u00f3re przed nami stan\u0119\u0142o: zapewnienie stabilno\u015bci dzia\u0142ania naszej us\u0142ugi semrush.com w Chinach oraz z jakimi problemami si\u0119 spotkali\u015bmy podczas jej realizacji (bior\u0105c pod uwag\u0119 lokalizacj\u0119 naszego centrum danych na wschodnim wybrze\u017cu USA).<\/p>\n<p><\/p>\n<p>To b\u0119dzie d\u0142uga historia, podzielona na kilka artyku\u0142\u00f3w. Opowiem, jak to wszystko u nas wygl\u0105da\u0142o: od ca\u0142kowicie nie dzia\u0142aj\u0105cej us\u0142ugi z Chin, a\u017c po wska\u017aniki dzia\u0142ania us\u0142ugi na poziomie jej ameryka\u0144skiej wersji dla Amerykan\u00f3w. Obiecuj\u0119, \u017ce b\u0119dzie to interesuj\u0105ce i przydatne. No to zaczynamy.<\/p>\n<p><\/p>\n<h2 id=\"problemy-kitayskogo-interneta\">Problemy chi\u0144skiego internetu<\/h2>\n<p><\/p>\n<p>Nawet najodleglejsza osoba od specyfiki administracji sieciowej przynajmniej raz s\u0142ysza\u0142a o <strong>Wielkim Chi\u0144skim Firewallu<\/strong>. Uu, brzmi dobrze, prawda? Ale co to jest, jak to naprawd\u0119 dzia\u0142a \u2013 to do\u015b\u0107 skomplikowane pytanie. W Internecie mo\u017cna znale\u017a\u0107 wiele artyku\u0142\u00f3w na ten temat, ale z technicznego punktu widzenia, dzia\u0142anie tego firewalla nie jest nigdzie opisane. Co, zreszt\u0105, nie jest zaskakuj\u0105ce. Przyznam, \u017ce po roku pracy nie b\u0119d\u0119 w stanie powiedzie\u0107 dok\u0142adnie, jak on dzia\u0142a, ale mog\u0119 opisa\u0107 swoje uwagi i praktyczne wnioski. Zacznijmy od plotek na temat tego firewalla.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Kr\u0105\u017cy wiele plotek na temat tego firewalla. Zbierzmy najwa\u017cniejsze i najciekawsze z nich w jedn\u0105 list\u0119:<\/p>\n<p><\/p>\n<ul>\n<li>Google, Facebook, Twitter i inne podobne us\u0142ugi s\u0105 zablokowane i nie dzia\u0142aj\u0105 w Chinach.<\/li>\n<li>Ka\u017cdy ruch, kt\u00f3ry wychodzi z Chin lub wchodzi do Chin, jest przetwarzany i ograniczany przy u\u017cyciu uczenia maszynowego (w przypadku podejrzanego ruchu), co znacznie spowalnia (ruch) przechodz\u0105cy przez granic\u0119.<\/li>\n<li>Chi\u0144skie s\u0142u\u017cby specjalne z\u0142ami\u0105 ka\u017cdy zaszyfrowany ruch, kt\u00f3ry przechodzi przez ich firewall.<\/li>\n<li>Tunelowanie VPN, tunelowanie IPSEC jest niestabilne, pada i jest ci\u0105gle blokowane.<\/li>\n<li>Im prostsze szyfrowanie, im prostsza fraza has\u0142owa u\u017cywana do autoryzacji\/szyfrowania ruchu, tym szybciej przechodzi przez chi\u0144ski firewall.<\/li>\n<\/ul>\n<p><\/p>\n<p>Oto, co uda\u0142o nam si\u0119 ustali\u0107 na temat tych plotek:<\/p>\n<p><\/p>\n<ul>\n<li>Google, Facebook, Twitter i inne podobne us\u0142ugi s\u0105 rzeczywi\u015bcie zablokowane (tw\u00f3j KOD), ale wiele technicznych domen Google, na przyk\u0142ad, nie jest zablokowanych i dzia\u0142a (ta sama gstatic.com). Z tego wynika wniosek: nie nale\u017cy bezmy\u015blnie blokowa\u0107 wszystkich zasob\u00f3w Google i innych, kt\u00f3re wydaj\u0105 si\u0119 zablokowane.<\/li>\n<li>Ka\u017cdy ruch przekraczaj\u0105cy granic\u0119 rzeczywi\u015bcie dodaje znacz\u0105cy op\u00f3\u017anienie do swojego czasu. Zobaczcie dwa wyniki. Jedna strona, jedna strona, prosty GET <em>curl<\/em>z Chiny (wspania\u0142e miasto Shenzhen). Drugi pomiar z zewn\u0105trz z Hongkongu (ma suwerenno\u015b\u0107, a mi\u0119dzy nim a \u015bwiatem nie ma zapory). Odleg\u0142o\u015b\u0107 mi\u0119dzy miastami w linii prostej wynosi oko\u0142o 30-40 km.<\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"bash\">nikita@china-shenzhen:~# curl -o \/dev\/null -w@curl_time \"https:\/\/www.semrush.com\/info\/ebay.com\"\n  % Ca\u0142kowity    % Odebrany % Xferd  \u015arednia pr\u0119dko\u015b\u0107   Czas    Czas     Czas  Bie\u017c\u0105cy\n                                 Dload  Upload   Ca\u0142kowity   Sp\u0119dzony   Pozostanie  Pr\u0119dko\u015b\u0107\n100  381k    0  381k    0     0  71824      0 --:--:--  0:00:05 --:--:-- 82832\ntime_namelookup:  0.004500\ntime_connect:  0.169342\ntime_appconnect:  0.723189\ntime_pretransfer:  0.723499\ntime_redirect:  0.000000\ntime_starttransfer:  1.532912\n----------\ntime_total:  5.443407\n----------\nsize_download:  390968 Bajt\u00f3w\nspeed_download:  71824.000B\/s\n\nnikita@china-hongkong:~# curl -o \/dev\/null -w@curl_time \"https:\/\/www.semrush.com\/info\/ebay.com\"\n  % Ca\u0142kowity    % Odebrany % Xferd  \u015arednia pr\u0119dko\u015b\u0107   Czas    Czas     Czas  Bie\u017c\u0105cy\n                                 Dload  Upload   Ca\u0142kowity   Sp\u0119dzony   Pozostanie  Pr\u0119dko\u015b\u0107\n100  319k    0  319k    0     0  2555k      0 --:--:-- --:--:-- --:--:-- 2573k\ntime_namelookup:  0.029366\ntime_connect:  0.030742\ntime_appconnect:  0.047310\ntime_pretransfer:  0.047388\ntime_redirect:  0.000000\ntime_starttransfer:  0.120793\n----------\ntime_total:  0.124871\n----------\nsize_download:  326755 Bajt\u00f3w\nspeed_download:  2616740.000B\/s<\/code><\/pre>\n<p><\/p>\n<p>Zwr\u00f3\u0107 uwag\u0119 na <strong>time_connect<\/strong>. I og\u00f3lnie, widzisz wynik: zapora dodaje 4 dodatkowe sekundy, co jest niesamowicie d\u0142ugo.<\/p>\n<p><\/p>\n<ul>\n<li>VPN i tunele IPSEC rzeczywi\u015bcie cz\u0119sto si\u0119 psuj\u0105. O tym opowiem p\u00f3\u017aniej i dok\u0142adniej. Serwery VPN, kt\u00f3rych u\u017cywaj\u0105 u\u017cytkownicy, z czasem s\u0105 blokowane (zwykle w ci\u0105gu doby po rozpocz\u0119ciu u\u017cytkowania). <\/li>\n<li>Istnieje opinia pochodz\u0105ca od ludzi mieszkaj\u0105cych w Chinach, \u017ce im prostsze szyfrowanie ruchu, tym szybciej przechodzi on przez granic\u0119, poniewa\u017c \u0142atwo jest zrozumie\u0107, \u017ce nie zawiera nic nielegalnego. I podobnie \u201eczysty\u201d ruch otrzymuje wi\u0119cej pasma i pr\u0119dko\u015bci przej\u015bcia, a \u201ebrudny\u201d ruch, w kt\u00f3rym nic nie da si\u0119 rozr\u00f3\u017cni\u0107, wr\u0119cz przeciwnie, uzyskuje wolniejsze przej\u015bcie. Na przyk\u0142ad przedstawi\u0119 curl do <em>ifconfig.co<\/em> protok\u00f3\u0142 HTTPS i HTTP. <\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"bash\">curl -o \/dev\/null -w@curl_time \"https:\/\/ifconfig.co\/\"\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n100    13  100    13    0     0      2      0  0:00:06  0:00:05  0:00:01     3\ntime_namelookup:  0.004305\ntime_connect:  0.397465\ntime_appconnect:  5.149305\ntime_pretransfer:  5.149393\ntime_redirect:  0.000000\ntime_starttransfer:  5.568847\n----------\ntime_total:  5.568893\n----------\nsize_download:  13 Bytes\nspeed_download:  2.000B\/s\n\ncurl -o \/dev\/null -w@curl_time \"http:\/\/ifconfig.co\/\"\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n100    13  100    13    0     0     28      0 --:--:-- --:--:-- --:--:--    28\ntime_namelookup:  0.004282\ntime_connect:  0.212457\ntime_appconnect:  0.000000\ntime_pretransfer:  0.212484\ntime_redirect:  0.000000\ntime_starttransfer:  0.450565\n----------\ntime_total:  0.450620\n----------\nsize_download:  13 Bytes\nspeed_download:  28.000B\/s<\/code><\/pre>\n<p><\/p>\n<p>R\u00f3\u017cnica w czasie \u0142adowania 13 bajt\u00f3w wynosi 5 sekund. Warto zauwa\u017cy\u0107, \u017ce wykonuj\u0105c ten test kilka razy, GET na HTTP ko\u0144czy si\u0119 w zasadzie w tym samym czasie za ka\u017cdym razem, podczas gdy na HTTPS strona czasami odpowiada w ci\u0105gu 3, 5, 10 a nawet 17 sekund. Czasami wyst\u0119puj\u0105 b\u0142\u0119dy SSL:<\/p>\n<p><\/p>\n<p><code>Nieznany b\u0142\u0105d protoko\u0142u SSL podczas \u0142\u0105czenia z ifconfig.co:443.<\/code><\/p>\n<p><\/p>\n<p>Zatem, co mamy:<\/p>\n<p><\/p>\n<ul>\n<li>Problemy generowane przez chi\u0144ski firewall, opisane powy\u017cej.<\/li>\n<li>Ping do zewn\u0119trznych zasob\u00f3w oraz wewn\u0105trz tuneli okresowo znika.<\/li>\n<li>Op\u00f3\u017anienie mi\u0119dzy dwoma punktami stale si\u0119 zmienia, a cz\u0119sto jest po prostu nieprzewidywalne. \u0141\u0105cz\u0105c r\u00f3\u017cne miasta\/regiony, oczekujesz, \u017ce w oparciu o geograficzne po\u0142o\u017cenie region\u00f3w, op\u00f3\u017anienie b\u0119dzie mniejsze, a otrzymujesz dok\u0142adnie odwrotn\u0105 sytuacj\u0119. <\/li>\n<li>Internet i kana\u0142y komunikacyjne dzia\u0142aj\u0105 raz szybko, raz wolno. Istnieje tu pewna zale\u017cno\u015b\u0107 od pory dnia i dnia tygodnia, ale nie zawsze.<\/li>\n<li>Zapytania DNS do \u015bwiata zewn\u0119trznego z Chin czasami przekraczaj\u0105 dozwolony czas oczekiwania.<\/li>\n<\/ul>\n<p><\/p>\n<p>Obraz rysuje si\u0119 po prostu \u201cdoskona\u0142y\u201d. <\/p>\n<p><\/p>\n<p>Centrum danych, jak ju\u017c wspomnia\u0142em, znajduje si\u0119 na wschodzie USA, a ca\u0142y SEMrush sk\u0142ada si\u0119 z dziesi\u0105tek wzajemnie powi\u0105zanych produkt\u00f3w, backend\u00f3w, frontend\u00f3w, baz danych, i wszystko to w DC oraz w chmurach. Przed nami, jako zespo\u0142em administrator\u00f3w system\u00f3w, postawiono zadanie, aby przy minimalnym wysi\u0142ku szybko rozpocz\u0105\u0107 dzia\u0142alno\u015b\u0107 w Chinach.<\/p>\n<p><\/p>\n<p>Musieli\u015bmy odpowiedzie\u0107 na wa\u017cne pytanie: czy mo\u017cna obej\u015b\u0107 si\u0119 ma\u0142ym kosztem i rozwi\u0105za\u0107 wszystkie problemy zwi\u0105zane z chi\u0144skim internetem i firewallem na poziomie sieci\/chmur\/serwer\u00f3w?<\/p>\n<p><\/p>\n<p>Zacz\u0119li\u015bmy od uzyskania <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_ICP\"><strong>ICP<\/strong>-licencji<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h2 id=\"icp-licenziya\">Licencja ICP<\/h2>\n<p><\/p>\n<p>Aby m\u00f3c umie\u015bci\u0107 swoj\u0105 us\u0142ug\u0119 w Chinach (Mainland China) i przeprowadza\u0107 testy, nale\u017cy najpierw uzyska\u0107 licencj\u0119 ICP na domen\u0119.<\/p>\n<p><\/p>\n<p>Je\u015bli ruch u\u017cytkownik\u00f3w na twojej stronie jest zako\u0144czony w kontynentalnych Chinach i je\u015bli twoja domena nie ma licencji ICP, tw\u00f3j ruch b\u0119dzie blokowany po stronie dostawcy \/ hostingu. Co ciekawe, do licencji ICP wpisany jest konkretny dostawca, czy to Cloudflare, czy Alibaba Cloud. Dlatego, je\u015bli uzyska\u0142e\u015b licencj\u0119 ICP dla Cloudflare i umie\u015bci\u0142e\u015b swoj\u0105 stron\u0119 u nich, p\u00f3\u017aniejsze \u201ebezproblemowe\u201d przeniesienie na Alibaba Cloud nie b\u0119dzie mo\u017cliwe. B\u0119dzie konieczne dodanie do tej licencji jeszcze jednego hostingu.<\/p>\n<p><\/p>\n<p>Uzyskuj\u0105c licencj\u0119 ICP dla domeny, mogli\u015bmy wymy\u015bla\u0107 i wdra\u017ca\u0107 konkretne techniczne pomys\u0142y i rozwi\u0105zania.<\/p>\n<p><\/p>\n<h2 id=\"testirovanie-resheniy\">Testowanie rozwi\u0105za\u0144<\/h2>\n<p><\/p>\n<p>Ale zanim bezpo\u015brednio zaczniemy tworzy\u0107 opcje stagingowe, kr\u0119ci\u0107 ga\u0142kami, optymalizowa\u0107 dzia\u0142anie strony oraz jej szybko\u015b\u0107, musimy wybra\u0107 narz\u0119dzie do jej testowania, aby zobaczy\u0107, jakie nasze dzia\u0142ania poprawiaj\u0105 lub wr\u0119cz przeciwnie, pogarszaj\u0105 dzia\u0142anie strony.<\/p>\n<p><\/p>\n<p>Nasze narz\u0119dzie do testowania musi spe\u0142nia\u0107 dwa g\u0142\u00f3wne wymagania:<\/p>\n<p><\/p>\n<ul>\n<li>musi mie\u0107 mo\u017cliwo\u015b\u0107 uruchamiania test\u00f3w z Chin,<\/li>\n<li>musi mie\u0107 testy przegl\u0105darkowe.<\/li>\n<\/ul>\n<p><\/p>\n<p>W ten spos\u00f3b znale\u017ali\u015bmy <noindex><a rel=\"nofollow\" href=\"https:\/\/www.catchpoint.com\/\">Catchpoint<\/a><\/noindex>! Maj\u0105 doskona\u0142e pokrycie punktami testowymi na ca\u0142ym \u015bwiecie. W Chinach za pomoc\u0105 tego narz\u0119dzia mo\u017cna uruchamia\u0107 testy r\u00f3wnie\u017c z 100500 prowincji. W ka\u017cdej po kilku r\u00f3\u017cnych dostawc\u00f3w + mo\u017cliwo\u015b\u0107 wykonywania <strong>test\u00f3w Backbone (co\u015b w rodzaju wirtualki w centrum danych) oraz<\/strong>test\u00f3w Lastmile (jak najbardziej zbli\u017conych do warunk\u00f3w u\u017cytkownik\u00f3w, aka stacja robocza). Ostatni typ test\u00f3w jest dro\u017cszy. <strong>Zawieraj\u0105c roczn\u0105 umow\u0119 (mniej nie mo\u017cna), przyst\u0105pili\u015bmy do badania narz\u0119dzia. Musz\u0119 przyzna\u0107, byli\u015bmy mi\u0142o zaskoczeni jego funkcjonalno\u015bci\u0105. Mo\u017cna uruchamia\u0107:<\/strong>testy DNS,<\/p>\n<p><\/p>\n<p>testy Web (przegl\u0105darkowe, prosty GET\/POST, emulacja klienta mobilnego itd.),<\/p>\n<p><\/p>\n<ul>\n<li>sprawdzanie transakcyjne (na przyk\u0142ad logowanie),<\/li>\n<li>testy API,<\/li>\n<li>Ping, traceroute, NTP itd.<\/li>\n<li>Nie da si\u0119 wszystkiego wymieni\u0107. I co najwa\u017cniejsze, ka\u017cdy test mo\u017cna ca\u0142kiem dobrze dostosowa\u0107, dodaj\u0105c zestaw nag\u0142\u00f3wk\u00f3w i innych parametr\u00f3w. W rezultacie otrzymujesz ogromn\u0105 ilo\u015b\u0107 informacji, w pe\u0142ni opisuj\u0105cych tw\u00f3j test. Je\u015bli chodzi o to, co nas najbardziej interesuje (testy przegl\u0105darkowe), wyniki obejmuj\u0105:<\/li>\n<li>Czas po\u0142\u0105czenia, Czas oczekiwania, Czas \u0142adowania, SSL, Czas DNS,<\/li>\n<\/ul>\n<p><\/p>\n<p>TTFB, TTLB, Zako\u0144czenie dokumentu, Czas renderowania, \u0141adowanie DOM,<\/p>\n<p><\/p>\n<ul>\n<li>Odpowied\u017a (co\u015b bliskiego Czasowi Do Pierwszego Bajtu), Odpowied\u017a Strony WWW (co\u015b bliskiego Czasowi Do Ostatniego Bajtu),<\/li>\n<li>Wszelkie percentyle, \u015aredni czas, Mediana czasu<\/li>\n<li>I tym podobne.<\/li>\n<li>Dowolne percentyle, \u015arednia, Mediana czasu<\/li>\n<li>I tym podobne.<\/li>\n<\/ul>\n<p><\/p>\n<p>W zwi\u0105zku z tym wszystkie te metryki doskonale pomagaj\u0105 dostrzega\u0107 zmiany i rozumie\u0107, czy sytuacja si\u0119 poprawi\u0142a. G\u0142\u00f3wnie skupiali\u015bmy si\u0119 na <strong>Response, Webpage Response, Median, 75 i 95 percentyla<\/strong>. <\/p>\n<p><\/p>\n<p>Wa\u017cne pytanie, kt\u00f3re wisi w powietrzu od samego pocz\u0105tku: <strong>czy mo\u017cna ufa\u0107 Catchpoint<\/strong>? \u041e\u0442\u0440\u0430\u0436\u0430\u0435\u0442 \u043b\u0438 \u044d\u0442\u043e\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0440\u0435\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u0430\u0439\u0442\u0430 \u0432 \u041a\u0438\u0442\u0430\u0435 \u0438\u0437 \u0440\u0430\u0437\u043d\u044b\u0445 \u0433\u043e\u0440\u043e\u0434\u043e\u0432 \u0438\u043b\u0438 \u0436\u0435 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0442\u0435\u0441\u0442 \u0432 \u0432\u0430\u043a\u0443\u0443\u043c\u0435, \u043d\u0435 \u0438\u043c\u0435\u044e\u0449\u0438\u0439 \u043d\u0438\u0447\u0435\u0433\u043e \u043e\u0431\u0449\u0435\u0433\u043e \u0441 real user experience?<br \/>\nTo du\u017cy problem, poniewa\u017c b\u0119d\u0105c w Rosji, praktycznie niemo\u017cliwe jest wiarygodne sprawdzenie, jak dzia\u0142a strona z Chin. Korzystaj\u0105c z proxy socks przez wirtualn\u0105 maszyn\u0119, otrzymuje si\u0119 \u0142adowanie strony przez kilka minut, co jest ca\u0142kowicie nieakceptowalne dla test\u00f3w, wi\u0119c jedyn\u0105 opcj\u0105 r\u0119cznego testowania pozostaje curl i proste GET z konsoli z pomiarem czasu. To pomaga, poniewa\u017c ten test dobrze odzwierciedla pr\u0119dko\u015b\u0107 dzia\u0142ania rozwi\u0105zania sieciowego, a je\u015bli s\u0105 r\u00f3wnie\u017c testy przegl\u0105darkowe, jest to jeszcze lepsze.<\/p>\n<p><\/p>\n<p>P\u00f3\u017aniej sami pojechali\u015bmy do Chin i upewnili\u015bmy si\u0119, \u017ce <strong>Catchpoint mo\u017cna ufa\u0107, dok\u0142adnie odzwierciedla rzeczywiste wska\u017aniki pr\u0119dko\u015bci dzia\u0142ania.<\/strong><\/p>\n<p><\/p>\n<h2 id=\"cloudflare-china-network\">Cloudflare China Network<\/h2>\n<p><\/p>\n<p>Poniewa\u017c dla g\u0142\u00f3wnej domeny semrush.com z powodzeniem korzystamy z Cloudflare, postanowili\u015bmy od razu wypr\u00f3bowa\u0107 ich funkcj\u0119 o nazwie <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cloudflare.com\/network\/china\/\">China Network<\/a><\/noindex>. Ta opcja aktywowana jest tylko dla stron Enterprise na specjalne \u017c\u0105danie i za dodatkow\u0105 op\u0142at\u0105. Jest r\u00f3wnie\u017c dost\u0119pna tylko dla stron, kt\u00f3re maj\u0105 odpowiedni\u0105 licencj\u0119 ICP, w kt\u00f3rej jako dostawc\u0119 wskazano Cloudflare. Po jej w\u0142\u0105czeniu, dla strony dost\u0119pny staje si\u0119 \u201echi\u0144ski CDN\u201d od Cloudflare \u2014 ruch z chi\u0144skich region\u00f3w l\u0105duje w najbli\u017cszych PoP (Punktach Obecno\u015bci) CF, a nast\u0119pnie dostarczany jest przez jego sieci lub sieci dostawc\u00f3w \/partner\u00f3w do origin. <\/p>\n<p><\/p>\n<p>Schemat tego testowego stanowiska przedstawiony jest poni\u017cej.<\/p>\n<p><\/p>\n<p>Dla nas to doskona\u0142a opcja. Okazuje si\u0119, \u017ce drugi domena r\u00f3wnie\u017c b\u0119dzie za CF, co nie zwi\u0119ksza liczby rozwi\u0105za\u0144 u\u017cywanych w firmie i praktycznie nie komplikuje infrastruktury.<\/p>\n<p><\/p>\n<p>Uruchomili\u015bmy testy przegl\u0105darkowe i oto co uzyskali\u015bmy:<\/p>\n<p><\/p>\n<p>Czerwone romby to niepowodzenia test\u00f3w. Niepowodzenia na dole to b\u0142\u0119dy DNS (timeout rozwi\u0105zywania). Niepowodzenia na g\u00f3rze to timeouty.<\/p>\n<p><\/p>\n<p><em>Uptime: 86.6<br \/>\nMedian: 18s<br \/>\n75 percentyl: 29.3s<br \/>\n95 percentyl: 60s<\/em><\/p>\n<p><\/p>\n<p>Mediana, po usuni\u0119ciu za\u0142adunku <em>reCaptcha<\/em> (us\u0142uga Google, zablokowana w Chinach), spad\u0142a z 28 do 18 sek. Jednak nadal s\u0105 to straszne wska\u017aniki, bior\u0105c pod uwag\u0119, \u017ce ten sam test dla semrush.com (z USA) dawa\u0142 mniej ni\u017c 10 sekund dla 95% u\u017cytkownik\u00f3w (z USA) na t\u0119 sam\u0105 stron\u0119 (statyka + dynamika).<\/p>\n<p><\/p>\n<p>Do ka\u017cdego testu mo\u017cna wej\u015b\u0107 i sprawdzi\u0107 <em>Waterfall<\/em> i inne bardziej szczeg\u00f3\u0142owe parametry. Zacz\u0119li\u015bmy bada\u0107 przyczyny b\u0142\u0119d\u00f3w, a je\u015bli chodzi o timeouty, to wszystko jest mniej wi\u0119cej jasne: internet w Chinach \u201eraz dzia\u0142a, raz nie dzia\u0142a\u201d, przez co pr\u0119dko\u015b\u0107 po\u0142\u0105czenia i \u0142adowania zasob\u00f3w z zagranicy jest niestabilna i r\u00f3\u017cna. B\u0142\u0119d\u00f3w DNS by\u0142 dla nas du\u017cym zaskoczeniem. Odkryli\u015bmy, \u017ce <em>PoP<\/em> w Cloudflare rzeczywi\u015bcie znajduj\u0105 si\u0119 w Chinach, adres strony jest rozwi\u0105zywany na jeden anycast IP, ale u\u017cywane s\u0105 ameryka\u0144skie serwery DNS, co powoduje, \u017ce zapytania DNS musz\u0105 przechodzi\u0107 przez granic\u0119, przez co czasami si\u0119 nie udaj\u0105.<\/p>\n<p><\/p>\n<p>Ustalaj\u0105c t\u0119 kwesti\u0119 z CF, okaza\u0142o si\u0119, \u017ce <strong>nie maj\u0105 swoich serwer\u00f3w DNS w Chinach<\/strong>, a na kiedy to si\u0119 zmieni - na razie nie wiadomo.<\/p>\n<p><\/p>\n<p>Dlatego postanowili\u015bmy przetestowa\u0107 tylko DNS Cloudflare i zmienili\u015bmy mechanizm dzia\u0142ania Cloudflare dla naszej strony na tryb \u201e<strong>Tylko DNS<\/strong>\u201d. Jest to tryb, w kt\u00f3rym Cloudflare nie proxy'uje ruchu przez siebie, a to oznacza, \u017ce nie zapewnia ochrony DDoS, CDN ani innych funkcji, i dzia\u0142a w trybie zwyk\u0142ego serwera DNS. <\/p>\n<p><\/p>\n<p>Niniejszy schemat jest schematycznie przedstawiony na nast\u0119pnym rysunku. Na rysunku uwzgl\u0119dniono nowo zdobyte wiedz\u0119, \u017ce serwery DNS Cloudflare znajduj\u0105 si\u0119 za firewallem.<\/p>\n<p><\/p>\n<p>W Catchpoint uruchomili\u015bmy proste testy GET (nie przegl\u0105darkowe), kt\u00f3re pokaza\u0142y wiele b\u0142\u0119d\u00f3w. Ich przyczyn\u0105 by\u0142y te same b\u0142\u0119dy DNS.<\/p>\n<p><\/p>\n<p>Zacz\u0119li\u015bmy debugowa\u0107 te b\u0142\u0119dy za pomoc\u0105 <em>dig<\/em> i odkryli\u015bmy, \u017ce przy pierwszym zapytaniu adres jest okre\u015blany poprawnie, a przy ponownym zapytaniu otrzymujemy za ka\u017cdym razem <em>SERVFAIL<\/em> i <em>not found<\/em>. Sk\u0105d to nagle?<\/p>\n<p><\/p>\n<pre><code class=\"bash\">root@iZwz97n2wgbp61qucbfrjsZ:~# host semrushchina.cn\nsemrushchina.cn ma adres 220.170.186.192\nHost semrushchina.cn nie znaleziony: 2(SERVFAIL)\nroot@iZwz97n2wgbp61qucbfrjsZ:~# host semrushchina.cn\nsemrushchina.cn ma adres 220.170.186.192\nHost semrushchina.cn nie znaleziony: 2(SERVFAIL)\nroot@iZwz97n2wgbp61qucbfrjsZ:~# host semrushchina.cn\nsemrushchina.cn ma adres 220.170.186.192\nHost semrushchina.cn nie znaleziony: 2(SERVFAIL)\nroot@iZwz97n2wgbp61qucbfrjsZ:~# host semrushchina.cn\nsemrushchina.cn ma adres 220.170.186.192\nHost semrushchina.cn nie znaleziony: 2(SERVFAIL)<\/code><\/pre>\n<p><\/p>\n<p>Przy zapytaniu o serwery NS Cloudflare takich b\u0142\u0119d\u00f3w nie ma:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">root@iZwz97n2wgbp61qucbfrjsZ:~# for i in `seq 1 2`; do host semrushchina.cn ray.ns.cloudflare.com.; done\nKorzystanie z serwera domeny:\nNazwa: ray.ns.cloudflare.com.\nAdres: 173.245.59.138#53\nAlias:\n\nsemrushchina.cn ma adres 220.170.186.192\nsemrushchina.cn ma adres 220.170.186.192\nKorzystanie z serwera domeny:\nNazwa: ray.ns.cloudflare.com.\nAdres: 173.245.59.138#53\nAlias:\n\nsemrushchina.cn ma adres 220.170.186.192\nsemrushchina.cn ma adres 220.170.186.192<\/code><\/pre>\n<p><\/p>\n<p>Wi\u0119c problem le\u017cy po stronie \u201elokalnego\u201d serwera DNS lub serwera dostawcy.<br \/>\nDalsze dochodzenie wykaza\u0142o, \u017ce <em>SERVFAIL<\/em> otrzymujemy podczas rozwi\u0105zania <em>AAAA<\/em>-rekordy. <\/p>\n<p><\/p>\n<p>Okaza\u0142o si\u0119, \u017ce przy zapytaniu o Cloudflare <em>AAAA<\/em>-rekord, kt\u00f3rego nie ma w domenie, Cloudflare odpowiedzia\u0142 <em>A<\/em>-zapisem, co jest b\u0142\u0119dem i niezgodno\u015bci\u0105 z RFC. Z tego powodu lokalny resolverowi (<em>x.x.x.x<\/em>) to si\u0119 nie podoba\u0142o, i odpowiada\u0142 <em>SERVFAIL<\/em>. W poni\u017cszym logu to zachowanie jest wyra\u017anie widoczne:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">root@iZwz97n2wgbp61qucbfrjsZ:~# dig -t AAAA semrushchina.cn @x.x.x.x\n\n; &lt;&gt; DiG 9.10.3-P4-Ubuntu &lt;&gt; -t AAAA semrushchina.cn @x.x.x.x\n;; global options: +cmd\n;; Got answer:\n;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: SERVFAIL, id: 55467\n;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version: 0, flags:; udp: 4096\n;; QUESTION SECTION:\n;semrushchina.cn.               IN      AAAA\n\n;; Query time: 334 msec\n;; SERVER: x.x.x.x#53(x.x.x.x)\n;; WHEN: Tue Aug 14 23:38:50 CST 2018\n;; MSG SIZE  rcvd: 44\n\nroot@iZwz97n2wgbp61qucbfrjsZ:~# dig -t AAAA semrushchina.cn @dana.ns.cloudflare.com.\n\n; &lt;&gt; DiG 9.10.3-P4-Ubuntu &lt;&gt; -t AAAA semrushchina.cn @dana.ns.cloudflare.com.\n;; global options: +cmd\n;; Got answer:\n;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 63944\n;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1\n;; WARNING: recursion requested but not available\n\n;; OPT PSEUDOSECTION:\n; EDNS: version: 0, flags:; udp: 512\n;; QUESTION SECTION:\n;semrushchina.cn.               IN      AAAA\n\n;; ANSWER SECTION:\nsemrushchina.cn.        300     IN      A       220.170.186.192\n\n;; Query time: 185 msec\n;; SERVER: 173.245.58.105#53(173.245.58.105)\n;; WHEN: Tue Aug 14 23:43:03 CST 2018\n;; MSG SIZE  rcvd: 60\n<\/code><\/pre>\n<p><\/p>\n<p>Wys\u0142ali\u015bmy raport b\u0142\u0119du do Cloudflare, a oni naprawili to po pewnym czasie. Okaza\u0142o si\u0119 to interesuj\u0105ce: obecnie w Chinach nadal nie ma wsparcia dla IPv6, wi\u0119c Cloudflare nie m\u00f3g\u0142 dostarcza\u0107 tam swojego adresu IPv6 w odpowiedzi na zapytanie <em>AAAA<\/em>-rekordy. W rezultacie wszystko zako\u0144czy\u0142o si\u0119 tak, \u017ce dla Chin Cloudflare zacz\u0105\u0142 odpowiada\u0107 <em>NODATA<\/em> na takie zapytania.<\/p>\n<p><\/p>\n<p>W ten spos\u00f3b b\u0142\u0119dy DNS w testach Catchpoint znacznie si\u0119 zmniejszy\u0142y, ale nie ca\u0142kowicie. Timeouty r\u00f3wnie\u017c nie znikn\u0119\u0142y:<\/p>\n<p><\/p>\n<p>I zacz\u0119li\u015bmy szuka\u0107 innego rozwi\u0105zania. <\/p>\n<p><\/p>\n<p>W nast\u0119pnej cz\u0119\u015bci opowiem, jak testowali\u015bmy chmur\u0119 chi\u0144sk\u0105 <strong>Alibaba Cloud<\/strong>, jak dzi\u0119ki niewielkiej \u201emagii\u201d Nginx mogli\u015bmy szybko tworzy\u0107 PoC (Proof of Concept) rozwi\u0105za\u0144, jak tworzyli\u015bmy rozwi\u0105zania Multi-Cloud, z kt\u00f3rych jedno w rezultacie bardzo pomog\u0142o przyspieszy\u0107 dzia\u0142anie us\u0142ugi z Chin.<\/p>\n<p><\/p>\n<p><strong>B\u0105d\u017acie na bie\u017c\u0105co!<\/strong><\/p>\n<p><\/p>\n<h3 id=\"sleduyuschie-chasti\">Nast\u0119pne cz\u0119\u015bci<\/h3>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/semrush\/blog\/458840\/\">Cz\u0119\u015b\u0107 2<\/a><\/noindex><\/p>\n<p>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/semrush\/blog\/458602\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041d\u0430 \u0441\u0432\u044f\u0437\u0438 \u041d\u0438\u043a\u0438\u0442\u0430 \u2014 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 S\u0415Mrush. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u0432\u0430\u043c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u043c\u0438 \u0432\u0441\u0442\u0430\u043b\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 semrush.com \u0432 \u041a\u0438\u0442\u0430\u0435, \u0438 \u0441 \u043a\u0430\u043a\u0438\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u043c\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0432 \u0445\u043e\u0434\u0435 \u0435\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f (\u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u043c\u0435\u0441\u0442\u043e\u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043d\u0430\u0448\u0435\u0433\u043e \u0434\u0430\u0442\u0430-\u0446\u0435\u043d\u0442\u0440\u0430 \u043d\u0430 \u0432\u043e\u0441\u0442\u043e\u0447\u043d\u043e\u043c \u043f\u043e\u0431\u0435\u0440\u0435\u0436\u044c\u0435 \u0421\u0428\u0410). \u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f, \u0440\u0430\u0437\u0431\u0438\u0442\u0430\u044f \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e [&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":[688],"tags":[],"class_list":["post-35939","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041d\u0430 \u0441\u0432\u044f\u0437\u0438 \u041d\u0438\u043a\u0438\u0442\u0430 \u2014 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 S\u0415Mrush.\" \/>\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\/pl\/blog\/administrirovanie\/kak-my-probivali-velikij-kitajskij-faervol-ch-1\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\u041a\u0430\u043a \u043c\u044b \u043f\u0440\u043e\u0431\u0438\u0432\u0430\u043b\u0438 \u0412\u0435\u043b\u0438\u043a\u0438\u0439 \u041a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u0439 \u0424\u0430\u0435\u0440\u0432\u043e\u043b (\u0447.1) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041d\u0430 \u0441\u0432\u044f\u0437\u0438 \u041d\u0438\u043a\u0438\u0442\u0430 \u2014 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 S\u0415Mrush.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-my-probivali-velikij-kitajskij-faervol-ch-1\" \/>\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:07:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:07:41+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\udd47Jak przeszli\u015bmy przez Wielk\u0105 Chi\u0144sk\u0105 Zapor\u0119 Ogniow\u0105 (cz. 1) | ProHoster","description":"Cze\u015b\u0107 wszystkim! Z tej strony Nikita \u2014 in\u017cynier systemowy z firmy SEMrush.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-my-probivali-velikij-kitajskij-faervol-ch-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\u041a\u0430\u043a \u043c\u044b \u043f\u0440\u043e\u0431\u0438\u0432\u0430\u043b\u0438 \u0412\u0435\u043b\u0438\u043a\u0438\u0439 \u041a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u0439 \u0424\u0430\u0435\u0440\u0432\u043e\u043b (\u0447.1) | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041d\u0430 \u0441\u0432\u044f\u0437\u0438 \u041d\u0438\u043a\u0438\u0442\u0430 \u2014 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 S\u0415Mrush.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-my-probivali-velikij-kitajskij-faervol-ch-1","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:07:41+00:00","article:modified_time":"2019-10-31T19:07:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35939","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-22 01:21:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:53:31","updated":"2026-01-22 01:21:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/35939","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=35939"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/35939\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=35939"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=35939"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=35939"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}