рдИрдПрд╕рдПрдирдЖрдИ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ

рд╣реЗрд▓реЛ рд╣рдмрд░, рдореЗрд░рд╛ рдирд╛рдо рдЗрд▓реНрдпрд╛ рд╣реИ, рдореИрдВ Exness рдореЗрдВ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЯреАрдо рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдБред рд╣рдо рдЙрди рдореБрдЦреНрдп рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдШрдЯрдХреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдорд╛рд░реА рдЙрддреНрдкрд╛рдж рд╡рд┐рдХрд╛рд╕ рдЯреАрдореЗрдВ рдХрд░рддреА рд╣реИрдВред

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдореЗрдВ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдПрд╕рдПрдирдЖрдИ (рдИрдПрд╕рдПрдирдЖрдИ) рддрдХрдиреАрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

рдИрдПрд╕рдПрдирдЖрдИ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ

рдЗрд╕ рддрдХрдиреАрдХ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рд╕реНрддрд░ рдмрдврд╝реЗрдЧрд╛ рдФрд░ рдХрдВрдкрдиреА рджреНрд╡рд╛рд░рд╛ рдЕрдкрдирд╛рдП рдЧрдП рдЖрдВрддрд░рд┐рдХ рд╕реБрд░рдХреНрд╖рд╛ рдорд╛рдирдХреЛрдВ рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рд╣реЛрдЧрд╛ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдпрд╣ рдмрддрд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рддрдХрдиреАрдХ рдорд╛рдирдХреАрдХреГрдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдЕрднреА рднреА рдбреНрд░рд╛рдлреНрдЯ рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рдФрд░ рдореЛрдЬрд╝рд┐рд▓рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ (рдореЗрдВ) рдбреНрд░рд╛рдлреНрдЯ01). рдЗрд╕рдиреЗ рд╣рдореЗрдВ рдРрд╕реЗ рдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛.

рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛

рдИрдПрд╕рдПрдирдЖрдИ рдЯреАрдПрд▓рдПрд╕ 1.3 рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИ рдЬреЛ рдЯреАрдПрд▓рдПрд╕ рд╣реИрдВрдбрд╢реЗрдХ "рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реИрд▓реЛ" рд╕рдВрджреЗрд╢ рдореЗрдВ рдПрд╕рдПрдирдЖрдИ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдИрдПрд╕рдПрдирдЖрдИ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реИрд▓реЛ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ (рд╕рд╛рдорд╛рдиреНрдп рдПрд╕рдПрдирдЖрдИ рдХреЗ рдмрдЬрд╛рдп рд╣рдо рдИрдПрд╕рдПрдирдЖрдИ рджреЗрдЦрддреЗ рд╣реИрдВ):

рдИрдПрд╕рдПрдирдЖрдИ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ

 рдИрдПрд╕рдПрдирдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рддреАрди рдШрдЯрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  • рдбреАрдПрдирдПрд╕; 
  • рдЧреНрд░рд╛рд╣рдХ рд╕рд╣рд╛рдпрддрд╛;
  • рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рд╕рдорд░реНрдерди.

рдбреАрдПрдирдПрд╕

рдЖрдкрдХреЛ рджреЛ DNS рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝рдиреЗ рд╣реЛрдВрдЧреЗ - AрдФрд░ TXT (TXT рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЧреНрд░рд╛рд╣рдХ SNI рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ) - рдиреАрдЪреЗ рджреЗрдЦреЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╕рдорд░реНрдерди рднреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП DOH (HTTPS рдкрд░ DNS) рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрд▓рдмреНрдз рдХреНрд▓рд╛рдЗрдВрдЯ (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ) DoH рдХреЗ рдмрд┐рдирд╛ ESNI рд╕рдорд░реНрдерди рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдИрдПрд╕рдПрдирдЖрдИ рдХрд╛ рддрд╛рддреНрдкрд░реНрдп рдЙрд╕ рд╕рдВрд╕рд╛рдзрди рдХреЗ рдирд╛рдо рдХреЗ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╕реЗ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдПрдХреНрд╕реЗрд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╛рдиреА рдпреВрдбреАрдкреА рдкрд░ рдбреАрдПрдирдПрд╕ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрдкрдпреЛрдЧ DNSSEC рдЖрдкрдХреЛ рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдХреИрд╢ рдкреЙрдЗрдЬрд╝рдирд┐рдВрдЧ рд╣рдорд▓реЛрдВ рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЕрднреА рдЙрдкрд▓рдмреНрдз рд╣реИ рдХрдИ рдбреАрдУрдПрдЪ рдкреНрд░рджрд╛рддрд╛, рдЙрдирдореЗрдВ рд╕реЗ:

CloudFlare рд░рд╛рдЬреНрдпреЛрдВ (рдореЗрд░рд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЬрд╛рдВрдЪреЗрдВ тЖТ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдПрд╕рдПрдирдЖрдИ тЖТ рдФрд░ рдЬрд╛рдиреЗрдВ) рдХрд┐ рдЙрдирдХреЗ рд╕рд░реНрд╡рд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдИрдПрд╕рдПрдирдЖрдИ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛рдиреА, рдбреАрдПрдирдПрд╕ рдореЗрдВ рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдо рд╕реЗ рдХрдо рджреЛ рд░рд┐рдХреЙрд░реНрдб рд╣реИрдВ - рдП рдФрд░ рдЯреАрдПрдХреНрд╕рдЯреАред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣рдо Google DNS (HTTPS рд╕реЗ рдЕрдзрд┐рдХ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрд╡реЗрд░реА рдХрд░рддреЗ рд╣реИрдВ: 

╨Р рд░рд┐рдХреЙрд░реНрдб:

curl 'https://dns.google.com/resolve?name=www.cloudflare.com&type=A' 
-s -H 'accept: application/dns+json'
{
  "Status": 0,
  "TC": false,
  "RD": true,
  "RA": true,
  "AD": true,
  "CD": false,
  "Question": [
    {
      "name": "www.cloudflare.com.",
      "type": 1
    }
  ],
  "Answer": [
    {
      "name": "www.cloudflare.com.",
      "type": 1,
      "TTL": 257,
      "data": "104.17.210.9"
    },
    {
      "name": "www.cloudflare.com.",
      "type": 1,
      "TTL": 257,
      "data": "104.17.209.9"
    }
  ]
}

TXT рд░рд┐рдХреЙрд░реНрдб, рдЕрдиреБрд░реЛрдз рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ _esni.FQDN:

curl 'https://dns.google.com/resolve?name=_esni.www.cloudflare.com&type=TXT' 
-s -H 'accept: application/dns+json'
{
  "Status": 0,
  "TC": false,
  "RD": true,
  "RA": true,
  "AD": true,
  "CD": false,
  "Question": [
    {
    "name": "_esni.www.cloudflare.com.",
    "type": 16
    }
  ],
  "Answer": [
    {
    "name": "_esni.www.cloudflare.com.",
    "type": 16,
    "TTL": 1799,
    "data": ""/wEUgUKlACQAHQAg9SiAYQ9aUseUZr47HYHvF5jkt3aZ5802eAMJPhRz1QgAAhMBAQQAAAAAXtUmAAAAAABe3Q8AAAA=""
    }
  ],
  "Comment": "Response from 2400:cb00:2049:1::a29f:209."
}

рдЗрд╕рд▓рд┐рдП, DNS рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рд╕реЗ, рд╣рдореЗрдВ DoH (рдЕрдзрд┐рдорд╛рдирддрдГ DNSSEC рдХреЗ рд╕рд╛рде) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рджреЛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдЬреЛрдбрд╝рдиреА рдЪрд╛рд╣рд┐рдПред 

рдЧреНрд░рд╛рд╣рдХ рд╕рд╣реЗрдпрддрд╛

рдЕрдЧрд░ рд╣рдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдлрд┐рд▓рд╣рд╛рд▓ рд╕рдорд░реНрдерди рдХреЗрд╡рд▓ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ. рдпрд╣рд╛рдВ рдпрд╣рд╛рдВ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рдИрдПрд╕рдПрдирдЖрдИ рдФрд░ рдбреАрдУрдПрдЪ рд╕рдорд░реНрдерди рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рджрд┐рдП рдЧрдП рд╣реИрдВред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:

рдИрдПрд╕рдПрдирдЖрдИ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ

рд▓рд┐рдВрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП.

рдмреЗрд╢рдХ, рдИрдПрд╕рдПрдирдЖрдИ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреАрдПрд▓рдПрд╕ 1.3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдИрдПрд╕рдПрдирдЖрдИ рдЯреАрдПрд▓рдПрд╕ 1.3 рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИред

рдИрдПрд╕рдПрдирдЖрдИ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдмреИрдХрдПрдВрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ, рд╣рдордиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ go, рд▓реЗрдХрд┐рди рдЙрд╕ рдкрд░ рдмрд╛рдж рдореЗрдВред

рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рд╕рдорд░реНрдерди

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, ESNI nginx/apache рдЗрддреНрдпрд╛рджрд┐ рдЬреИрд╕реЗ рд╡реЗрдм рд╕рд░реНрд╡рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ OpenSSL/BoringSSL рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ TLS рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ ESNI рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдлреНрд░рдВрдЯ-рдПрдВрдб рдХрдВрдкреЛрдиреЗрдВрдЯ (рдИрдПрд╕рдПрдирдЖрдИ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА) рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рдИрдПрд╕рдПрдирдЖрдИ рдХреЗ рд╕рд╛рде рдЯреАрдПрд▓рдПрд╕ 1.3 рд╕рдорд╛рдкреНрддрд┐ рдФрд░ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдкрд░ рдкреНрд░реЙрдХреНрд╕реА HTTP (рдПрд╕) рдЯреНрд░реИрдлрд┐рдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛, рдЬреЛ рдИрдПрд╕рдПрдирдЖрдИ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреЛ рдореБрдЦреНрдп рдШрдЯрдХреЛрдВ рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ - рдЕрд░реНрдерд╛рдд, рдореМрдЬреВрджрд╛ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬреЛ рдИрдПрд╕рдПрдирдЖрдИ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред 

рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ рдПрдХ рдЪрд┐рддреНрд░ рд╣реИ:

рдИрдПрд╕рдПрдирдЖрдИ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ

рдореИрдВрдиреЗ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдХрд┐ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдИрдПрд╕рдПрдирдЖрдИ рдХреЗ рдмрд┐рдирд╛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдИрдПрд╕рдПрдирдЖрдИ рдХреЗ рдмрд┐рдирд╛ рдЯреАрдПрд▓рдПрд╕ рдХрдиреЗрдХреНрд╢рди рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рд╛рде рд╣реА, рдЕрдкрд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ 1.3 рд╕реЗ рдХрдо рдЯреАрдПрд▓рдПрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде HTTP рдпрд╛ HTTPS рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдпрджрд┐ рдЕрдкрд╕реНрдЯреНрд░реАрдо 1.3 рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред рдпрд╣ рдпреЛрдЬрдирд╛ рдЕрдзрд┐рдХрддрдо рд▓рдЪреАрд▓рд╛рдкрди рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред

рдИрдПрд╕рдПрдирдЖрдИ рд╕рдорд░реНрдерди рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬрд╛рд░реА рд╣реИ go рд╣рдордиреЗ рдЙрдзрд╛рд░ рд▓рд┐рдпрд╛ рдерд╛ CloudFlare. рдореИрдВ рддреБрд░рдВрдд рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реНрд╡рдпрдВ рдХрд╛рдлреА рдЧреИрд░-рддреБрдЪреНрдЫ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдХреНрд░рд┐рдкреНрдЯреЛ/рдЯреАрдПрд▓рдПрд╕ рдФрд░ рдЗрд╕рд▓рд┐рдП "рдкреИрдЪрд┐рдВрдЧ" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЧрд░реЛрда рдЕрд╕реЗрдВрдмрд▓реА рд╕реЗ рдкрд╣рд▓реЗ.

рдИрдПрд╕рдПрдирдЖрдИ рдХреБрдВрдЬреА рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ esnitool (рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рдХреЗ рджрд┐рдорд╛рдЧ рдХреА рдЙрдкрдЬ рднреА)ред рдЗрди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ SNI рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди/рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рдордиреЗ рд▓рд┐рдирдХреНрд╕ (рдбреЗрдмрд┐рдпрди, рдЕрд▓реНрдкрд╛рдЗрди) рдФрд░ рдореИрдХрдУрдПрд╕ рдкрд░ рдЧреЛ 1.13 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд┐рд▓реНрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред 

рдкрд░рд┐рдЪрд╛рд▓рди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж

рдИрдПрд╕рдПрдирдЖрдИ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдЖрд░рдкреАрдПрд╕, рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╡рд┐рд▓рдВрдмрддрд╛ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛрдб, рдЕрд╕рдлрд▓/рд╕рдлрд▓ рдЯреАрдПрд▓рдПрд╕ рд╣реИрдВрдбрд╢реЗрдХ рдФрд░ рдЯреАрдПрд▓рдПрд╕ рд╣реИрдВрдбрд╢реЗрдХ рдЕрд╡рдзрд┐ред рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдпрд╣ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд▓рдЧрд╛ рдХрд┐ рдкреНрд░реЙрдХреНрд╕реА рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рддреА рд╣реИред 

рд╣рдордиреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдкрд╣рд▓реЗ рд▓реЛрдб рдкрд░реАрдХреНрд╖рдг рднреА рдХрд┐рдпрд╛ред рдкрд░рд┐рдгрд╛рдо рдиреАрдЪреЗ:

wrk -t50 -c1000 -d360s 'https://esni-rev-proxy.npw:443' --timeout 15s
Running 6m test @ https://esni-rev-proxy.npw:443
  50 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.77s     1.21s    7.20s    65.43%
    Req/Sec    13.78      8.84   140.00     83.70%
  206357 requests in 6.00m, 6.08GB read
Requests/sec:    573.07
Transfer/sec:     17.28MB 

рд╣рдордиреЗ рдИрдПрд╕рдПрдирдЖрдИ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдФрд░ рдЙрд╕рдХреЗ рдмрд┐рдирд╛ рдпреЛрдЬрдирд╛ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧреБрдгрд╛рддреНрдордХ рд▓реЛрдб рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред рд╣рдордиреЗ рдордзреНрдпрд╡рд░реНрддреА рдШрдЯрдХреЛрдВ рдореЗрдВ "рд╣рд╕реНрддрдХреНрд╖реЗрдк" рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ "рдбрд╛рд▓рд╛"ред

рдЗрд╕рд▓рд┐рдП, рдИрдПрд╕рдПрдирдЖрдИ рд╕рдорд░реНрдерди рдФрд░ HTTP рд╕реЗ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдкрд░ рдкреНрд░реЙрдХреНрд╕реА рдХрд░рдиреЗ рд╕реЗ, рд╣рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд▓рдЧрднрдЧ ~550 рдЖрд░рдкреАрдПрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реБрдП, рдИрдПрд╕рдПрдирдЖрдИ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреА рдФрд╕рдд рд╕реАрдкреАрдпреВ/рд░реИрдо рдЦрдкрдд рдХреЗ рд╕рд╛рде:

  • 80% рд╕реАрдкреАрдпреВ рдЙрдкрдпреЛрдЧ (4 рд╡реАрд╕реАрдкреАрдпреВ, 4 рдЬреАрдмреА рд░реИрдо рд╣реЛрд╕реНрдЯ, рд▓рд┐рдирдХреНрд╕)
  • 130 рдПрдордмреА рдореЗрдо рдЖрд░рдПрд╕рдПрд╕

рдИрдПрд╕рдПрдирдЖрдИ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ

рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП, рдЯреАрдПрд▓рдПрд╕ (HTTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓) рд╕рдорд╛рдкреНрддрд┐ рдХреЗ рдмрд┐рдирд╛ рд╕рдорд╛рди nginx рдЕрдкрд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓рд┐рдП RPS ~ 1100 рд╣реИ:

wrk -t50 -c1000 -d360s 'http://lb.npw:80' тАУ-timeout 15s
Running 6m test @ http://lb.npw:80
  50 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.11s     2.30s   15.00s    90.94%
    Req/Sec    23.25     13.55   282.00     79.25%
  393093 requests in 6.00m, 11.35GB read
  Socket errors: connect 0, read 0, write 0, timeout 9555
  Non-2xx or 3xx responses: 8111
Requests/sec:   1091.62
Transfer/sec:     32.27MB 

рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдХрдореА рд╣реИ (рд╣рдордиреЗ 4 рд╡реАрд╕реАрдкреАрдпреВ, 4 рдЬреАрдмреА рд░реИрдо рд╣реЛрд╕реНрдЯ, рд▓рд┐рдирдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛), рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рдЖрд░рдкреАрдПрд╕ рдЕрдзрд┐рдХ рд╣реИ (рд╣рдореЗрдВ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдкрд░ 2700 рдЖрд░рдкреАрдПрд╕ рддрдХ рдХреЗ рдЖрдВрдХрдбрд╝реЗ рдкреНрд░рд╛рдкреНрдд рд╣реБрдП)ред

рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдиреЛрдЯ рдХрд░рддрд╛ рд╣реВрдБ рдИрдПрд╕рдПрдирдЖрдИ рддрдХрдиреАрдХ рдХрд╛рдлреА рдЖрд╢рд╛рдЬрдирдХ рджрд┐рдЦрддреА рд╣реИред рдЕрднреА рднреА рдХрдИ рдЦреБрд▓реЗ рдкреНрд░рд╢реНрди рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, DNS рдореЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ ESNI рдХреБрдВрдЬреА рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдФрд░ ESNI рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдШреБрдорд╛рдиреЗ рдХреЗ рдореБрджреНрджреЗ - рдЗрди рдореБрджреНрджреЛрдВ рдкрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ, рдФрд░ ESNI рдбреНрд░рд╛рдлреНрдЯ рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг (рд▓реЗрдЦрди рдХреЗ рд╕рдордп) рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИ 7.

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ