рдирдорд╕реНрддреЗ рд╣рдмрд░, рдореЗрд░реЛ рдирд╛рдо рдЗрд▓реНрдпрд╛ рд╣реЛ, рдо Exness рдорд╛ рдкреНрд▓реЗрдЯрдлрд░реНрдо рдЯреЛрд▓реАрдорд╛ рдХрд╛рдо рдЧрд░реНрдЫреБред рд╣рд╛рдореА рд╣рд╛рдореНрд░рд╛ рдЙрддреНрдкрд╛рджрди рд╡рд┐рдХрд╛рд╕ рдЯреЛрд▓реАрд╣рд░реВрд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдЖрдзрд╛рд░рднреВрдд рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдШрдЯрдХрд╣рд░реВ рд╡рд┐рдХрд╛рд╕ рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдЫреМрдВред
рдпрд╕ рд▓реЗрдЦрдорд╛, рдо рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯрд╣рд░реВрдХреЛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдорд╛ рдЗрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб SNI (ESNI) рдкреНрд░рд╡рд┐рдзрд┐ рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗ рдореЗрд░реЛ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБред

рдпрд╕ рдкреНрд░рд╡рд┐рдзрд┐рдХреЛ рдкреНрд░рдпреЛрдЧрд▓реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджрд╛ рд╕реБрд░рдХреНрд╖рд╛рдХреЛ рд╕реНрддрд░ рдмрдврд╛рдЙрдиреЗрдЫ рд░ рдХрдореНрдкрдиреАрд▓реЗ рдЕрдкрдирд╛рдПрдХреЛ рдЖрдиреНрддрд░рд┐рдХ рд╕реБрд░рдХреНрд╖рд╛ рдорд╛рдкрджрдгреНрдбрд╣рд░реВрдХреЛ рдкрд╛рд▓рдирд╛ рдЧрд░реНрдиреЗрдЫред
рд╕рдмреИрднрдиреНрджрд╛ рдкрд╣рд┐рд▓реЗ, рдо рдпреЛ рдХреБрд░рд╛ рдФрдВрд▓реНрдпрд╛рдЙрди рдЪрд╛рд╣рдиреНрдЫреБ рдХрд┐ рдпреЛ рдкреНрд░рд╡рд┐рдзрд┐ рдорд╛рдирдХреАрдХреГрдд рдЫреИрди рд░ рдЕрдЭреИ рдорд╕реНрдпреМрджрд╛рдорд╛ рдЫ, рддрд░ рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рд░ рдореЛрдЬрд┐рд▓рд╛рд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рдпрд╕рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ (рдорд╛ )ред рдпрд╣реА рдХреБрд░рд╛рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдпрд╕реНрддреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдкреНрд░реЗрд░рд┐рдд рдЧрд░реНтАНрдпреЛред
рдмрд┐рдЯ рд╕рд┐рджреНрдзрд╛рдиреНрдд
ESNIComment тАУ TLS рез.рей рдкреНрд░реЛрдЯреЛрдХрд▓рдХреЛ рдПрдХреНрд╕рдЯреЗрдиреНрд╕рди рд╣реЛ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ "рдХреНрд▓рд╛рдЗрдиреНрдЯ рд╣реЗрд▓реЛ" TLS рд╣реНрдпрд╛рдиреНрдбрд╢реЗрдХ рд╕рдиреНрджреЗрд╢рдорд╛ SNI рдЗрдиреНрдХреНрд░рд┐рдкреНрдЯ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред ESNI рд╕рдорд░реНрдерди рднрдПрдХреЛ рдХреНрд▓рд╛рдЗрдиреНрдЯ рд╣реЗрд▓реЛ рдХрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ рднрдиреЗрд░ рдпрд╣рд╛рдБ рджрд┐рдЗрдПрдХреЛ рдЫ (рд╕рд╛рдорд╛рдиреНрдп SNI рдХреЛ рд╕рдЯреНрдЯрд╛, рд╣рд╛рдореА ESNI рджреЗрдЦреНрдЫреМрдВ):

ESNI рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди, рддреАрдирд╡рдЯрд╛ рдШрдЯрдХрд╣рд░реВ рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрджрдЫ:
- DNS;
- рдЧреНрд░рд╛рд╣рдХ рд╕рд╣рдпреЛрдЧ;
- рд╕рд░реНрднрд░ рд╕рд╛рдЗрдб рд╕рдорд░реНрдердиред
DNS
рддрдкрд╛рдИрдВрд▓реЗ рджреБрдИрд╡рдЯрд╛ DNS рд░реЗрдХрд░реНрдбрд╣рд░реВ рдердкреНрдиреБ рдкрд░реНрдЫ - Aрд░ TXT (TXT рд░реЗрдХрд░реНрдбрдорд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреА рд╣реБрдиреНрдЫ рдЬрд╕рдХреЛ рд╕рд╛рде рдХреНрд▓рд╛рдЗрдиреНрдЯрд▓реЗ SNI рдЗрдиреНрдХреНрд░рд┐рдкреНрдЯ рдЧрд░реНрди рд╕рдХреНрдЫ) - рддрд▓ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реНред рдпрд╕рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, рд╕рдорд░реНрдерди рд╣реБрдиреБрдкрд░реНрдЫ DoH (HTTPS рдорд╛ DNS), рдХрд┐рдирдХрд┐ рдЙрдкрд▓рдмреНрдз рдХреНрд▓рд╛рдЗрдиреНрдЯрд╣рд░реВрд▓реЗ (рддрд▓ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН) DoH рдмрд┐рдирд╛ ESNI рд╕рдорд░реНрдерди рд╕рдХреНрд░рд┐рдп рдЧрд░реНрджреИрдирдиреНред рдпреЛ рддрд╛рд░реНрдХрд┐рдХ рдЫ, рдХрд┐рдирдХрд┐ ESNI рд▓реЗ рд╣рд╛рдореАрд▓реЗ рдкрд╣реБрдБрдЪ рдЧрд░рд┐рд░рд╣реЗрдХреЛ рд╕реНрд░реЛрдд рдирд╛рдордХреЛ рдЗрдиреНрдХреНрд░рд┐рдкреНрд╢рдирд▓рд╛рдИ рдЬрдирд╛рдЙрдБрдЫ, рдЕрд░реНрдерд╛рддреН UDP рдорд╛рд░реНрдлрдд DNS рдкрд╣реБрдБрдЪ рдЧрд░реНрдиреБрдХреЛ рдХреБрдиреИ рдЕрд░реНрде рдЫреИрдиред рдпрд╕рдмрд╛рд╣реЗрдХ, рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рдпрд╕ рдкрд░рд┐рджреГрд╢реНрдпрдорд╛ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХреНрдпрд╛рд╕ рд╡рд┐рд╖рд╛рдХреНрддрддрд╛ рдЖрдХреНрд░рдордгрд╣рд░реВрдмрд╛рдЯ рдЬреЛрдЧрд╛рдЙрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
рд╣рд╛рд▓ рдЙрдкрд▓рдмреНрдз рдЫ , рддрд┐рдиреАрд╣рд░реВ рдордзреНрдпреЗ:
CloudFlare (рдореЗрд░реЛ рдмреНрд░рд╛рдЙрдЬрд░ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН тЖТ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб SNI тЖТ рдердк рдЬрд╛рдиреНрдиреБрд╣реЛрд╕реН), рдХрд┐ рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕рд░реНрднрд░рд╣рд░реВрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ ESNI рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ, рдЕрд░реНрдерд╛рддреН, DNS рдорд╛ CloudFlare рд╕рд░реНрднрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореАрд╕рдБрдЧ рдХрдореНрддрд┐рдорд╛ рджреБрдИ рд░реЗрдХрд░реНрдбрд╣рд░реВ рдЫрдиреН - A рд░ TXTред рддрд▓рдХреЛ рдЙрджрд╛рд╣рд░рдгрдорд╛, рд╣рд╛рдореА 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 рд╕рдБрдЧ) рд░ рджреБрдИ рд░реЗрдХрд░реНрдбрд╣рд░реВ рдердкреНрдиреБрдкрд░реНрдЫред
рдЧреНрд░рд╛рд╣рдХ рд╕рд╣рдпреЛрдЧ
рдпрджрд┐ рд╣рд╛рдореА рдмреНрд░рд╛рдЙрдЬрд░рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрджреИрдЫреМрдВ рднрдиреЗ, рдЕрд╣рд┐рд▓реЗ . FireFox рдорд╛ ESNI рд░ DoH рд╕рдорд░реНрдерди рдХрд╕рд░реА рд╕рдХреНрд░рд┐рдп рдЧрд░реНрдиреЗ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫред рдмреНрд░рд╛рдЙрдЬрд░ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рд╕рдХреЗрдкрдЫрд┐, рд╣рд╛рдореАрд▓реЗ рдпрд╕реНрддреЛ рдХреЗрд╣рд┐ рджреЗрдЦреНрдиреБрдкрд░реНрдЫ:

рдмреНрд░рд╛рдЙрдЬрд░ рдЬрд╛рдБрдЪ рдЧрд░реНрдиред
рдЕрд╡рд╢реНрдп рдкрдирд┐, ESNI рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрди TLS рез.рей рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНрдЫ, рдХрд┐рдирдХрд┐ ESNI TLS рез.рей рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реЛред
ESNI рд╕рдорд░реНрдердирдХреЛ рд╕рд╛рде рдмреНрдпрд╛рдХрдПрдиреНрдб рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрдиреЗ рдЙрджреНрджреЗрд╢реНрдпрд▓реЗ, рд╣рд╛рдореАрд▓реЗ рдПрдЙрдЯрд╛ рдХреНрд▓рд╛рдЗрдиреНрдЯ рд▓рд╛рдЧреВ рдЧрд░реНрдпреМрдВ go, рддрд░ рддреНрдпрд╕рдмрд╛рд░реЗ рдкрдЫрд┐ рдердк рдХреБрд░рд╛ рдЧрд░реМрдВрд▓рд╛ред
рд╕рд░реНрднрд░ рд╕рд╛рдЗрдб рд╕рдорд░реНрдерди
рд╣рд╛рд▓ ESNI рд▓рд╛рдИ nginx/apache рдЖрджрд┐ рдЬрд╕реНрддрд╛ рд╡реЗрдм рд╕рд░реНрднрд░рд╣рд░реВрд▓реЗ рд╕рдорд░реНрдерди рдЧрд░реНрджреИрдирдиреН, рдХрд┐рдирдХрд┐ рддрд┐рдиреАрд╣рд░реВ OpenSSL/BoringSSL рдорд╛рд░реНрдлрдд TLS рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдЫрдиреН, рдЬрд╕рд▓реЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░реВрдкрдорд╛ ESNI рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджреИрдирдиреНред
рддреНрдпрд╕реИрд▓реЗ рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореНрд░реЛ рдЖрдлреНрдиреИ рдлреНрд░рдиреНрдЯ-рдПрдиреНрдб рдХрдореНрдкреЛрдиреЗрдиреНрдЯ (ESNI рд░рд┐рднрд░реНрд╕ рдкреНрд░реЛрдХреНрд╕реА) рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдпреМрдВ, рдЬрд╕рд▓реЗ ESNI рд╕рдБрдЧ TLS 1.3 рдЯрд░реНрдорд┐рдиреЗрд╢рдирд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрдиреЗрдЫ рд░ HTTP(S) рдЯреНрд░рд╛рдлрд┐рдХрд▓рд╛рдИ рдЕрдкрд╕реНрдЯреНрд░реАрдордорд╛ рдкреНрд░реЛрдХреНрд╕реА рдЧрд░реНрдиреЗрдЫ, рдЬрд╕рд▓реЗ ESNI рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджреИрдиред рдпрд╕рд▓реЗ рдореБрдЦреНрдп рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдирдЧрд░реА рдкрд╣рд┐рд▓реЗ рдиреИ рдЕрд╡рд╕реНрдерд┐рдд рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдорд╛ рдкреНрд░рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ - рдЕрд░реНрдерд╛рддреН, ESNI рд▓рд╛рдИ рд╕рдорд░реНрдерди рдирдЧрд░реНрдиреЗ рд╣рд╛рд▓рдХреЛ рд╡реЗрдм рд╕рд░реНрднрд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ред
рд╕реНрдкрд╖реНрдЯрддрд╛рдХреЛ рд▓рд╛рдЧрд┐, рдпрд╣рд╛рдБ рдПрдЙрдЯрд╛ рд░реЗрдЦрд╛рдЪрд┐рддреНрд░ рдЫ:

рдо рдпреЛ рдХреБрд░рд╛ рдпрд╛рдж рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБ рдХрд┐ рдкреНрд░реЛрдХреНрд╕реА ESNI рдмрд┐рдирд╛ TLS рдЬрдбрд╛рди рд╕рдорд╛рдкреНрдд рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛рдХреЛ рд╕рд╛рде рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, ESNI рдмрд┐рдирд╛ рдХреНрд▓рд╛рдЗрдиреНрдЯрд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрдиред рд╕рд╛рдереИ, рдЕрдкрд╕реНрдЯреНрд░рд┐рдорд╕рдБрдЧ рд╕рдЮреНрдЪрд╛рд░ рдЧрд░реНрдиреЗ рдкреНрд░реЛрдЯреЛрдХрд▓ HTTP рд╡рд╛ HTTPS рд╣реБрди рд╕рдХреНрдЫ рдЬрд╕рдХреЛ TLS рд╕рдВрд╕реНрдХрд░рдг рез.рей рднрдиреНрджрд╛ рдХрдо рдЫ (рдпрджрд┐ рдЕрдкрд╕реНрдЯреНрд░рд┐рдорд▓реЗ рез.рей рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджреИрди рднрдиреЗ)ред рдпреЛ рдпреЛрдЬрдирд╛рд▓реЗ рдЕрдзрд┐рдХрддрдо рд▓рдЪрд┐рд▓реЛрдкрди рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред
ESNI рд╕рдорд░реНрдердирдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди go рд╣рд╛рдореАрд▓реЗ рдмрд╛рдЯ рд╕рд╛рдкрдЯреА рд▓рд┐рдПрдХрд╛ рдЫреМрдВ ред рдо рддреБрд░реБрдиреНрддреИ рдзреНрдпрд╛рди рджрд┐рдиреЗрдЫреБ рдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЖрдлреИрдВрдорд╛ рдПрдХрджрдореИ рд╕рд╛рдорд╛рдиреНрдп рдЫреИрди, рдХрд┐рдирдХрд┐ рдпрд╕рд▓реЗ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпрдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫред crypto/tls рд░ рддреНрдпрд╕реИрд▓реЗ "рдкреНрдпрд╛рдЪрд┐рдЩ" рдЖрд╡рд╢реНрдпрдХ рдЫ GOROOT рд╕рднрд╛ рдЧрд░реНрдиреБ рдЕрдШрд┐ред
ESNI рдХреБрдЮреНрдЬреАрд╣рд░реВ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рд╣рд╛рдореАрд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдпреМрдВ (рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдкрдирд┐)ред рдпреА рдХреБрдЮреНрдЬреАрд╣рд░реВ SNI рдЗрдиреНрдХреНрд░рд┐рдкреНрдЯ/рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред
рд╣рд╛рдореАрд▓реЗ go рез.резрей рдЕрди рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдмрд┐рд▓реНрдбрдХреЛ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрдпреМрдВред Linux (Debian, рдЕрд▓реНрдкрд╛рдЗрди) рд░ MacOSред
рд╕рдЮреНрдЪрд╛рд▓рди рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗрд╣рд┐ рд╢рдмреНрджрд╣рд░реВ
ESNI рд░рд┐рднрд░реНрд╕ рдкреНрд░реЛрдХреНрд╕реАрд▓реЗ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдврд╛рдБрдЪрд╛рдорд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рдЬрд╕реНрддреИ rps, рдЕрдкрд╕реНрдЯреНрд░реАрдо рд▓реЗрдЯреЗрдиреНрд╕реА рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛрдбрд╣рд░реВ, рдЕрд╕рдлрд▓/рд╕рдлрд▓ TLS рд╣реНрдпрд╛рдиреНрдбрд╢реЗрдХрд╣рд░реВ рд░ TLS рд╣реНрдпрд╛рдиреНрдбрд╢реЗрдХ рдЕрд╡рдзрд┐ред рдкрд╣рд┐рд▓реЛ рдирдЬрд░рдорд╛, рдпреЛ рдкреНрд░реЛрдХреНрд╕реАрд▓реЗ рдЯреНрд░рд╛рдлрд┐рдХ рдХрд╕рд░реА рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░реНрдЫ рднрдиреЗрд░ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрди рдкрд░реНрдпрд╛рдкреНрдд рджреЗрдЦрд┐рдиреНрдереНрдпреЛред
рд╣рд╛рдореАрд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдЕрдШрд┐ рд▓реЛрдб рдкрд░реАрдХреНрд╖рдг рдкрдирд┐ рдЧрд░реНрдпреМрдВред рдирддрд┐рдЬрд╛рд╣рд░реВ рддрд▓ рдЫрдиреН:
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
рд╣рд╛рдореАрд▓реЗ ESNI рд░рд┐рднрд░реНрд╕ рдкреНрд░реЛрдХреНрд╕реАрд╕рдБрдЧ рд░ рдмрд┐рдирд╛ рдпреЛрдЬрдирд╛рдХреЛ рддреБрд▓рдирд╛ рдЧрд░реНрди рд╡рд┐рд╢реБрджреНрдз рдЧреБрдгрд╛рддреНрдордХ рд▓реЛрдб рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрдпреМрдВред рд╣рд╛рдореАрд▓реЗ рдордзреНрдпрд╡рд░реНрддреА рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВрдорд╛ "рд╣рд╕реНрддрдХреНрд╖реЗрдк" рд╣рдЯрд╛рдЙрди рд╕реНрдерд╛рдиреАрдп рд░реВрдкрдорд╛ рдЯреНрд░рд╛рдлрд┐рдХ "рдкреЛрд░реНрдпреМрдВ"ред
рддреНрдпрд╕реИрд▓реЗ, ESNI рд╕рдорд░реНрдерди рд░ HTTP рд╕рдБрдЧ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдкреНрд░реЛрдХреНрд╕реАрдХреЛ рд╕рд╛рде, рд╣рд╛рдореАрд▓реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдгрдмрд╛рдЯ рд▓рдЧрднрдЧ ~релрелреж rps рдкрд╛рдпреМрдВ, ESNI рд░рд┐рднрд░реНрд╕ рдкреНрд░реЛрдХреНрд╕реАрдХреЛ рдФрд╕рдд CPU/RAM рдЦрдкрддрдХреЛ рд╕рд╛рде:
- реореж% CPU рдЙрдкрдпреЛрдЧ (рек vCPU, рек GB RAM рд╣реЛрд╕реНрдЯрд╣рд░реВ, Linux)
- резрейреж рдПрдордмреА рдореЗрдо рдЖрд░рдПрд╕рдПрд╕

рддреБрд▓рдирд╛рдХреЛ рд▓рд╛рдЧрд┐, TLS рдЯрд░реНрдорд┐рдиреЗрд╢рди (HTTP рдкреНрд░реЛрдЯреЛрдХрд▓) рдмрд┐рдирд╛ рдЙрд╣реА nginx рдЕрдкрд╕реНрдЯреНрд░реАрдордХреЛ рд▓рд╛рдЧрд┐ RPS ~ резрезрежреж рдЫ:
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
рдЯрд╛рдЗрдордЖрдЙрдЯрдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐рд▓реЗ рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рдЕрднрд╛рд╡ рднрдПрдХреЛ рд╕рдВрдХреЗрдд рдЧрд░реНрдЫ (рд╣рд╛рдореАрд▓реЗ рек рд╡рдЯрд╛ vCPU, рек GB RAM рд╣реЛрд╕реНрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдпреМрдВ, Linux), рд░ рд╡рд╛рд╕реНрддрд╡рдорд╛ рд╕рдореНрднрд╛рд╡рд┐рдд RPS рдЙрдЪреНрдЪ рдЫ (рд╣рд╛рдореАрд▓реЗ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕реНрд░реЛрддрд╣рд░реВрдорд╛ реиренрежреж RPS рд╕рдореНрдордХреЛ рддрдереНрдпрд╛рдЩреНрдХ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдпреМрдВ)ред
рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛, рдо рдпреЛ рдХреБрд░рд╛ рдпрд╛рдж рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБ рдХрд┐ ESNI рдкреНрд░рд╡рд┐рдзрд┐ рдПрдХрджрдореИ рдЖрд╢рд╛рдЬрдирдХ рджреЗрдЦрд┐рдиреНрдЫред рдЕрдЭреИ рдкрдирд┐ рдзреЗрд░реИ рдЦреБрд▓рд╛ рдкреНрд░рд╢реНрдирд╣рд░реВ рдЫрдиреН, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, DNS рдорд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ ESNI рдХреБрдЮреНрдЬреА рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдиреЗ рд░ ESNI рдХреБрдЮреНрдЬреАрд╣рд░реВ рдШреБрдорд╛рдЙрдиреЗ рдореБрджреНрджрд╛рд╣рд░реВ - рдпреА рдореБрджреНрджрд╛рд╣рд░реВ рд╕рдХреНрд░рд┐рдп рд░реВрдкрдорд╛ рдЫрд▓рдлрд▓ рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреН, рд░ ESNI рдХреЛ рдорд╕реНрдпреМрджрд╛рдХреЛ рдкрдЫрд┐рд▓реНрд▓реЛ рд╕рдВрд╕реНрдХрд░рдг (рд▓реЗрдЦрдирдХреЛ рд╕рдордпрдорд╛) рдкрд╣рд┐рд▓реЗ рдиреИ рдЫред .
рд╕реНрд░реЛрдд: www.habr.com
