GH GambleHub

Proxy gatlaklary we tersine ugrukdyryş

Gysgaça gysgaça

Proxy gatlagy - platformanyň "öň tekeri": TLS tamamlaýar, müşderileri tassyklaýar, traffigi paýlaýar, pikleri tekizleýär we goýberilişi howpsuz edýär (kanareýkalar, gök ýaşyl). Iň az kämillik toplumy: proksi-rollaryň takyk gatlaklaşdyrylmagy, marşrutlaşdyrmagyň kesgitlenen düzgünleri, wagt/retraý gözegçiligi, kesiş + rate-limit, ahyrky gözegçilik we awtomatlaşdyryş.

Proksiniň taksonomiýasy

Forward proxy - müşderileriň/hyzmatlaryň çykýan traffigi (egress), süzgüçler/aýna, DLP.
Reverse proxy - daşarky soraglary kabul edýär we arka taraplara ugrukdyrýar (esasy üns).

Prod-konturdaky gatlaklar:

1. Edge/CDN/WAF (Anycast, bot-süzgüçler, kesh)

2. L7 Ingress/API-gateway (ugrukdyrmak, tassyklamak, syýasatlar)

3. Gündogar-günbatar, mTLS we retraýlar üçin hyzmat gatlagy/Mesh (sidecar)

4. Gidýän integrasiýa üçin Egress-gateway (PSP, hyzmatdaşlar)

Ugrukdyryş (L4/L7) we algoritmler

L4 (TCP/UDP, passthrough TLS): HTTP-e düşünmezden iň az gijikdirme.
L7 (HTTP/1. 1, HTTP/2, HTTP/3/gRPC): host/path/header/cookie, transformasiýa, WAF, kesh düzgünleri.

Algoritmler:
  • Round-robin/Least-connections/EWMA - umumy ýagdaýlar.
  • Consistent-hash (cookie/ID boýunça) - sticky-sessiýalar we kesh lokalizasiýasy.
  • Header-/Geo-/Latency-based - sebitler/üpjün edijiler boýunça nyşana almak, çalt PoP.
  • Canary/Weighted - tapgyrlaýyn rollout (5 → 25 → 50 → 100%).
  • Shadow/Mirroring - jogaplara täsir etmezden täze hyzmat üçin traffigiň göçürmesi.

Soraglary/jogaplary üýtgetmek

URL rewrite/redirect: ýollary birleşdirmek, wersiýalaşdyrmak ('/v1/→/svc/v1/').
Sözbaşylar: 'X-Forwarded-For/Proto/Host' -y kadalaşdyryň, 'traceparent '/' x-request-id' -ni goşuň, artykmaç süzüň.
CORS/CSRF: gateway-da merkezleşdiriň, her hyzmatda sazlamalary artdyrmaň.
Compression/Decompression: Brotli/gzip, görnüşlere görä gözegçilik.
Body-limits we slowloris/oversized headers goragy.

Tassyklamak we howpsuzlyk

TLS 1. 3 + OCSP stapling + HSTS daşarky frontlarda.
mTLS: administratorlar, operasiýa API-leri, hyzmatdaş kanallar.
OAuth2/OIDC: gateway (token introspection/JWT-verify) → claims upstream.
Hyzmatara we hyzmatdaş integrasiýalary üçin API-açarlar/gollar (HMAC).
WAF/bot-süzgüçler: alamatlar + özüni alyp barş düzgünleri, greypass/kapça.
CSP/X-Frame-Options/Referrer-Policy - howpsuzlyk sözbaşylary.

Ygtybarlylyk: retrailer/wagtlar/SW

Wagt: L4/L7 connect/read/write, bitewi syýasat (mysal üçin, 'connect 500ms', 'read 3-5s' API üçin).
Retraýlar: diňe idempotent ('GET/HEAD'), wagt/san boýunça çäk, 'retry-budget'.
Circuit-breaker: bir wagtyň özünde haýyşlara/ýalňyşlyklara çäklendirmeler, çalt şowsuzlyk we zaýalanma.
Outlier detection: howuzdan "erbet" nusgalary aýyrmak.
Backoff + jitter: "sürü täsirini" döretmezlik üçin.

Nagt pul we traffigi dolandyrmak

Kesh L7: statika/ýarym dinamika (kataloglar, konfigler), 's-maxage' + 'stale-while-revalidate'.
Rate-limit/Quota: IP/ASN/device/cookie boýunça, paýlanan hasaplaýjy (Redis/Rate-service).
Sticky-sessiýalar: cookie/consistent-hash; failover we "kontrplak" -y göz öňünde tutuň.
Request collapsing (dedupe): origini şol bir GET-leriň "tupanyndan" goramak.

Teswirnamalar we aýratynlyklar

HTTP/2: multiplekslemek, ileri tutulýan ugurlar; tutuň 'ALPN: h2'.
HTTP/3/QUIC: ýitgä/jitere garşylygy; UDP/443 açyň, MTU/PMTUD-a gözegçilik ediň.
gRPC: health-checks, streaming, deadlines; proxy 'grpc-status' -y goldamaly.
WebSocket/SSE: long-lived konnektleri, sowatly idle-wagtlary we çäkleri.

Synlamak we SLO

Metrikler:
  • L4/L7: `p50/p95/p99`, ошибки (`4xx/5xx/Grpc-codes`), `open_conns`, `CPS/RPS`, `retry_rate`.
  • TLS: wersiýa/şifrler, p95 handshake, resumption.
  • Marşrut: route/cluster, outlier-ejections boýunça paýlar.
  • Rate-limit/WAF: işleýiş/FP-rate.
  • Logi: giriş (PII-siz), marşrutyň sebäpleri, marşrutyň sözbaşylary.
  • Söwda: 'traceparent '/B3, sample.
SLO (mysallar):
  • p95 TTFB API ≤ 250-300 ms; L7 ≤ 0 ýalňyşlygy. 5%.
  • Kanarekleriň üstünligi (metrleriň zaýalanmasyz) ≥ 99%.
  • FP-rate WAF ≤ 0. 1%.

Adaty konfigikler

Nginx (tersine proxy, HTTP/2, kanareýa, gysyş)

nginx map $http_x_canary $upstream_pool {
default "stable";
~^1$ "canary";
}

upstream api_stable { zone zst 64k; server 10. 0. 1. 10:8443; server 10. 0. 1. 11:8443; keepalive 256; }
upstream api_canary { zone zcn 64k; server 10. 0. 2. 10:8443; keepalive 64; }

server {
listen 443 ssl http2 reuseport;
server_name api. example. com;

ssl_protocols TLSv1. 2 TLSv1. 3;
ssl_stapling on; ssl_stapling_verify on;
add_header Strict-Transport-Security "max-age=31536000" always;

basic limits/protection client_max_body_size 10m;
sendfile on; brotli on; gzip on;

location / {
proxy_http_version 1. 1;
proxy_set_header Host $host;
proxy_set_header X-Request-Id $request_id;
proxy_set_header X-Forwarded-Proto https;
proxy_connect_timeout 500ms;
proxy_read_timeout 5s;
proxy_next_upstream error timeout http_502 http_503 http_504;
proxy_next_upstream_tries 1; # Retrays are limited to proxy_pass https://api_$upstream_pool;
}
}

HAProxy (JWT-verify + mTLS + rate-limit)

haproxy frontend fe_https bind:443 ssl crt /etc/haproxy/certs/ alpn h2,http/1. 1 http-request set-header X-Request-Id %[unique-id]
http-request lua. jwt_verify # external verification script JWT stick-table type ip size 1m expire 10m store http_req_rate (10s)
http-request deny if { src_http_req_rate(10s) gt 100 }

default_backend be_api

backend be_api balance roundrobin option httpchk GET /healthz server s1 10. 0. 1. 10:8443 check ssl verify required ca-file /etc/haproxy/ca. pem server s2 10. 0. 1. 11:8443 check ssl verify required ca-file /etc/haproxy/ca. pem

Envoy (JWT + weighted routes + outlier detection)

yaml static_resources:
listeners:
- name: https address: { socket_address: { address: 0. 0. 0. 0, port_value: 443 } }
filter_chains:
- filters:
- name: envoy. filters. network. http_connection_manager typed_config:
"@type": type. googleapis. com/envoy. extensions. filters. network. http_connection_manager. v3. HttpConnectionManager stat_prefix: ingress route_config:
virtual_hosts:
- name: api domains: ["api. example. com"]
routes:
- match: { prefix: "/" }
route:
weighted_clusters:
clusters:
- { name: api-stable, weight: 95 }
- { name: api-canary, weight: 5 }
http_filters:
- name: envoy. filters. http. jwt_authn typed_config: { "@type": type. googleapis. com/envoy. extensions. filters. http. jwt_authn. v3. JwtAuthentication }
- name: envoy. filters. http. router clusters:
- name: api-stable connect_timeout: 0. 5s type: STRICT_DNS lb_policy: ROUND_ROBIN outlier_detection: { consecutive_5xx: 3, interval: 2s, base_ejection_time: 30s }
transport_socket:
name: envoy. transport_sockets. tls
- name: api-canary connect_timeout: 0. 5s type: STRICT_DNS lb_policy: ROUND_ROBIN transport_socket:
name: envoy. transport_sockets. tls

Traefik (rule-based marşrutlar, düşünje)

yaml http:
routers:
api:
rule: "Host(`api. example. com`) && PathPrefix(`/v1/`)"
service: api-svc tls: { certResolver: letsencrypt }
services:
api-svc:
loadBalancer:
servers:
- url: "https://10. 0. 1. 10:8443"
- url: "https://10. 0. 1. 11:8443"

Proxy öndürijiligi

Connection pooling and keepalive to backends, connections limit to instans.
Reuseport, pin CPU/IRQ, ýeterlik soket buferleri.
TLS: ECDSA + gysga zynjyrlar, resumption ≥ 70%, HTTP/2/3 goşuldy.
"Gyzgyn" jogaplar üçin proksi kesiş (şol sanda 304-tassyklamalar).
Warm-up: iň ýokary derejeden öň DNS/TLS/konnektleri gyzdyrmak.

DR we şowsuzlyga çydamlylyk

Degrade düwünleriniň awtomatlaşdyrylmagy ('outlier-ejection').
Health-checks L4/L7 (HTTP body-marker wersiýasy).
Fail-open/Fail-closed - töleg/kritiki ýollar üçin aňly saýlaň.
Traffigi täze hyzmata geçirmezden ozal kölegeli re modeim.
Runbooks: "klasteriň çökmegi", "redaktorlaryň aýlawy", "konnektleriň syzmagy", "retraý tupany".

Giriş barlagy

  • Gatlaklaşdyrmak: Edge → Ingress/API-GW → Mesh/Egress, rollary we jogapkärçilik çäkleri.
  • Marşrut syýasaty: host/path/header/weight, canary/blue-green, shadow.
  • Howpsuzlyk: TLS 1. 3, mTLS duýgur ýollar üçin, JWT/OAuth2, WAF.
  • Wagt/retrailer/SW: umumy gymmatlyklar, idempotentlik, retry-budget.
  • Keş/Rate-limit/Request-collapsing.
  • Syn edilişi: metrikler/loglar/söwdalar, correlation-identifikatorlary.
  • SLO: p95/ýalňyşlyklar/çeşmeler; perimetr bökdençlikleri üçin alertler.
  • IaC/GitOps: ammardaky proksi konfigi, kanareýanyň çykarylyşy, çalt rollback.
  • Synaglar: e2e-marşrutlar, chaos-ssenariýalar, wakalardan öň ýük.

Adaty ýalňyşlyklar

Rollary bölmezden "jadyly" proksi kombaýn → çylşyrymly RCA we ýokary blast radiusy.
Indempotent däl soraglar üçin retraýalar → geleşikleriň dublikatlary.
Başlyklaryň kadalaşmagy/URL → cache-poisoning we nädogry açarlar ýok.
Sticky-sessiýalar meýilnamasyz failover → zaýalanmak.
'traceparent '/' x-request-id' → ýok.
Gaty 301/302 proxy derejesinde → "aýlawlar" we API wersiýalaryna gözegçiligiň ýitmegi.

iGaming/fintech üçin aýratynlyklar

Tölegler/PSP: mTLS bilen bölünen egress-gateway, berk wagtlar, idempotent açarlary, IP/ASN ak sanawlary.
Piki (oýunlar/ýaryşlar): canary/weighted, botlar üçin çal ýollar, agressiw GET keşi, origini "tupandan" goramak.
Düzgünleşdiriji/logika: syýasatlaryň wersiýalaryny we marşrutyň sebäplerini audit-bloglarda ýazga alyň; iň az PII.
Mazmun üpjün edijileri: kesh lokallygy we deň paýlanylyşy üçin üpjün ediji açary boýunça consistent-hash.

Kiçi pleýbuklar

1) Kanar API

1. 'api-canary' -de agramyň 5% -ini goşmak; 2) r95/ýalňyşlyklara gözegçilik etmek; 3) paýy giňeltmek; 4) pese gaçanda awtootkat.

2) Zaýalanýan düwüniň gyssagly aýrylmagy

1. Outlier-ejection ýa-da el bilen 'drain'; 2) puluň we keşiň hitiniň barlanylmagy; 3) wakadan soňky RCA.

3) Funksiýany şöhlelendirmek

1. Jogaplara täsir etmezden älemi açyň; 2) jogaplaryň metrikasyny/diffini deňeşdirmek; 3) geçiş barada karar bermek.

4) Retraý tupany

1. Retry-budget/wagt çäklerini azaltmak; 2) request-collapsing goşmak; 3) lokal bloklar/keş; 4) origini durnuklaşdyrmak.

Jemi

Gowy dizaýn edilen proksi gatlak rollaryň bölünmegi, kesgitlenen marşrut, ygtybarly syýasatlar (wagt/retrailer/SV), howpsuzlyk (mTLS/JWT/WAF) we syn edilişdir. IaC-de konfigurasiýalary düzüň, kanareýkalary we gölgeleri ulanyň, SLO-ny ölçäň - platformasyňyz iň ýokary sagatlarda-da ulalyp, öňünden aýdyp we goralyp bilner.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.