GH GambleHub

Прокси катмарлары жана кайра багыттоо

Кыскача резюме

Прокси катмары - "алдыңкы дөңгөлөк" платформасы: ал TLS аяктайт, кардарларды ырастайт, трафикти бөлүштүрөт, чокуларды тегиздейт жана чыгарууну коопсуз кылат (канарейка, көк жашыл). Минималдуу жетилүү топтому: прокси ролдорду так стратификациялоо, детерминацияланган багыттоо эрежелери, таймауттарды/ретрайларды көзөмөлдөө, кэш + rate-limit, байкоо жүргүзүү жана автоматташтыруу.

Прокси таксономиясы

Forward proxy - кардарлардын/кызматтардын сыртка чыгуучу трафиги (egress), фильтрлер/күзгү, DLP.
Reverse прокси - тышкы суроо-талаптарды кабыл алат жана backends багыттоо (биздин негизги басым).

Прод-контурдагы катмарлар:

1. Edge/CDN/WAF (Anycast, бот-чыпкалар, кэш)

2. L7 Ingress/API-gateway (багыттоо, аутентификация, саясат)

3. East-West, mTLS жана Retrains үчүн кызмат катмары/Mesh (sidecar)

4. Egress-gateway чыгыш интеграциясы үчүн (PSP, өнөктөштөр)

Багыттоо (L4/L7) жана алгоритмдер

L4 (TCP/UDP, passthrough TLS): HTTP түшүнбөстөн, минималдуу кечигүү.
L7 (HTTP/1. 1, HTTP/2, HTTP/3/gRPC): host/path/header/cookie эрежелери, трансформация, WAF, кэш.

Алгоритмдер:
  • Round-robin/Least-connections/EWMA - жалпы учурлар.
  • Consistent-hash (cookie/ID боюнча) - sticky-сессиялар жана кэш-локалдуулук.
  • Header-/Geo-/Latency-based - региондор/провайдерлер боюнча максаттуу, тез PoP.
  • Canary/Weighted - этап-этабы rollout (5 → 25 → 50 → 100%).
  • Shadow/Mirroring - жоопторго таасир этпестен жаңы кызматка трафиктин көчүрмөсү.

Суроо-талаптарды/жоопторду трансформациялоо

URL rewrite/redirect: жолдорду бириктирүү, версиялоо ('/v1/→/svc/v1/').
Аталыштар: нормалдаштыруу 'X-Forwarded-For/Proto/Host', кошуу 'traceparent '/' x-request-id', ашыкча чыпкалоо.
CORS/CSRF: gateway борборлоштуруп, ар бир кызматта орнотуу жемишин жок.
Compression/Decompression: Brotli/gzip, түрлөрү боюнча башкаруу.
Body-limits жана slowloris/oversized headers каршы коргоо.

Аутентификация жана коопсуздук

TLS 1. 3 + OCSP stapling + HSTS тышкы алдында.
mTLS: администраторлор, иш API, өнөктөш каналдар.
OAuth2/OIDC: gateway аркылуу авторизациялоо (token introspection/JWT-verify) → upstream claims.
API-ачкычтары/кол тамгалары (HMAC) тейлөө жана өнөктөштүк интеграциясы үчүн.
WAF/бот чыпкалар: белги + жүрүм-турум эрежелери, greypass/капча.
CSP/X-Frame-Options/Referrer-Policy - четинде security-аталыштары.

Ишенимдүүлүк: retrailer/убакыт/SV

Таймауттар: L4/L7 боюнча connect/read/write, бирдиктүү саясат (мисалы, 'connect 500ms', 'read 3-5s' API үчүн).
Retry: гана демпотенттик ('GET/HEAD'), убакыт/саны боюнча чек, 'retry-budget'.
Circuit-breaker: бир эле учурда суроо-талаптар/каталар, тез баш тартуу жана деградация боюнча чектөөлөр.
Outlier detection: бассейнден "жаман" нускаларды алып салуу.
Backoff + jitter: түзүү үчүн эмес, "үйүр таасири".

Кэш жана трафикти башкаруу

L7 кэш: статика/жарым динамика (каталогдор, конфиги), 's-maxage' + 'stale-while-revalidate'.
Rate-limit/Quota: IP/ASN/device/cookie боюнча, бөлүштүрүлгөн эсептегич (Redis/Rate-service).
Sticky сессиялар: cookie/consistent-hash; failover жана "кайра жабыштыруу" эске алуу.
Request collapsing (dedupe): origin коргоо "бороон" окшош GET.

Протоколдор жана өзгөчөлүктөрү

HTTP/2: мультиплексирлөө, артыкчылыктар; кармап 'ALPN: h2'.
HTTP/3/QUIC: жоготууга/джиттерге туруктуулук; UDP/443 ачуу, MTU/PMTUD мониторинг жүргүзүү.
gRPC: health-checks, streaming, deadlines; proxy 'grpc-status'.
WebSocket/SSE: long-live коннектилер, компетенттүү idle-таймауттар жана лимиттер.

Байкоо жана SLO

Метрикасы:
  • L4/L7: `p50/p95/p99`, ошибки (`4xx/5xx/Grpc-codes`), `open_conns`, `CPS/RPS`, `retry_rate`.
  • TLS: версия/шифрлер, p95 handshake, resumption.
  • Багыттоо: route/cluster, outlier-ejections боюнча үлүштөрү.
  • Rate-limit/WAF :/FP-rate.
  • Логи: кирүү (PII жок), багыттоо себептери, трек аталыштары.
  • Traces: 'traceparent '/B3, самплирлөө.
SLO (мисалдар):
  • p95 TTFB API ≤ 250-300 мс; L7 ≤ 0 катасы. 5%.
  • Канарейлердин ийгилиги (метриктердин деградациясы жок) учуруулардын 99% ≥.
  • FP-rate WAF ≤ 0. 1%.

Типтүү конфиги

Nginx (тескери прокси, HTTP/2, канарейка, кысуу)

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 жолдору, түшүнүк)

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"

Прокси аткаруу

Connection pooling жана backends үчүн keepalive, бийлик коннекттердин чеги.
Reuseport, PIN CPU/IRQ, жетиштүү буферлер.
TLS: ECDSA + кыска чынжыр, resumption ≥ 70%, HTTP/2/3 камтылган.
"Ысык" жооптор үчүн прокси кэш (анын ичинде 304-валидация).
Warm-up: жогорку чейин DNS/TLS/байланыштарды жылытуу.

DR жана ката каршылык

Деградация түйүндөрүнүн автоматташтыруусу ('outlier-ejection').
Health-checks L4/L7 (HTTP body-маркер версия).
Fail-open/Fail-closed - төлөм/критикалык жолдор үчүн аң-сезимдүү тандоо.
Shadow-режими жаңы кызмат үчүн жол которуу алдында.
Runbooks: "кластердин кыйрашы", "редакторлордун илмеги", "коннекттердин агып чыгышы", "бороон-чапкын".

Киргизүү чек-тизмеси

  • стратификация: Edge → Ingress/API-GW → Mesh/Egress, ролу жана жоопкерчилик чектери.
  • Багыттоо саясаты: host/path/header/weight, canary/blue-green, shadow.
  • Коопсуздук: TLS 1. 3, сезгич жолдор үчүн mTLS, JWT/OAuth2, WAF.
  • Таймауттар/retrailer/SV: бирдиктүү баалуулуктар, боштук, retry-budget.
  • Кэш/Rate-limit/Request-collapsing туура жерде.
  • Байкоо: метриктер/Логи/соода, correlation ID.
  • SLO: p95/каталар/ресурстар; периметрдик мүчүлүштүктөргө алерталар.
  • IaC/GitOps: репозиторийдеги Config Proxy, канар релиздери, тез rollback.
  • Сыноолор: e2e-жолдор, chaos-жагдайлар, иш-чаралардын алдында жүктөө.

Типтүү каталар

"Сыйкырдуу" прокси комбайны ролдорду бөлүү жок → татаал RCA жана жогорку blast радиусу.
Демпотенттик эмес суроолор үчүн ретрайлер → транзакциялардын дубликаттары.
Жок нормалдаштыруу баш/URL → cache-poisoning жана туура эмес ачкычтар.
Sticky-сессиялар пландары жок failover → деградация боюнча жабышып.
Жок 'traceparent '/' x-request-id' → көйгөйлөрдү чечүү мүмкүн эмес.
Катуу 301/302 proxy денгээлде → "Loop" жана API нускасын башкаруу жоготуу.

iGaming/Fintech үчүн өзгөчөлүктөрү

Төлөмдөр/PSP: mTLS менен атайын egress-gateway, катуу таймауттар, демпотенттик ачкычтар, ак IP/ASN тизмелери.
чокулары (дан/турнир): canary/weighted, боз боттордун жолдору, агрессивдүү GET кэш, "бороон" origin коргоо.
Жөнгө салуучу/Логика: Аудит-Логдордо саясат версияларын жана маршруттун себептерин жазыңыз; PII минималдаштыруу.
Мазмун провайдерлери: кэш-локалдуулук жана тегиз бөлүштүрүү үчүн провайдердик ачкыч боюнча consistent-hash.

Mini Playbook

1) Канар релиз API

1. 'api-canary' боюнча салмагы 5% кирет; 2) мониторинг p95/каталар; 3) үлүшүн кеңейтүү; 4) деградацияда автооткат.

2) Бузулган түйүндү шашылыш алып салуу

1. Outlier-ejection же кол менен 'drain'; 2) пул жана кэш хитин текшерүү; 3) пост-окуя RCA.

3) күзгү милдети

1. Жоопторго таасир этпестен көлөкөнү күйгүзүү; 2) метрика/дифф жооп салыштыруу; 3) которуу жөнүндө чечим кабыл алуу.

4) Retrais бороон

1. retry-budget/убакыт чектерин азайтуу; 2) request-collapsing кирет; 3) жергиликтүү штепсель/кэш; 4) origin турукташтыруу.

Жыйынтык

Жакшы иштелип чыккан прокси катмары ролдорду бөлүштүрүү, детерминацияланган багыттоо, ишенимдүү саясат (таймауттар/ретрайлер/SV), коопсуздук (mTLS/JWT/WAF) жана байкоо жүргүзүү болуп саналат. Конфигурацияларды IaCге бекитиңиз, канареяларды жана көлөкөлөрдү колдонуңуз, SLOну өлчөңүз - жана сиздин платформаңыз эң ысык чоку сааттарда да масштабдуу, алдын ала айтууга жана коргоого болот.

Contact

Биз менен байланышыңыз

Кандай гана суроо же колдоо керек болбосун — бизге кайрылыңыз.Биз дайым жардам берүүгө даярбыз!

Интеграцияны баштоо

Email — милдеттүү. Telegram же WhatsApp — каалооңузга жараша.

Атыңыз милдеттүү эмес
Email милдеттүү эмес
Тема милдеттүү эмес
Билдирүү милдеттүү эмес
Telegram милдеттүү эмес
@
Эгер Telegram көрсөтсөңүз — Emailден тышкары ошол жактан да жооп беребиз.
WhatsApp милдеттүү эмес
Формат: өлкөнүн коду жана номер (мисалы, +996XXXXXXXXX).

Түшүрүү баскычын басуу менен сиз маалыматтарыңыздын иштетилишине макул болосуз.