GH GambleHub

Тескери прокси жана багыттоо

1) ролу тескери прокси

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

2) Катмарлар жана протоколдор

L4: TCP/UDP proxy (SNI-based TLS passthrough, QUIC). Төмөн баа, HTTP түшүнүү жок.
L7: HTTP/1. 1–2–3, gRPC, WebSocket. Бай багыттоо (host, жол, headers, кукилер), трансформация жана кэш.

TLS модели: периметри боюнча терминдер (NGINX/Envoy), ичинде - mTLS/mesh. SNI бир IP боюнча виртуалдык хост берет.

3) багыттоо стратегиялары (L7)

1. Host-based: домен ('api. brand. com '→ кластер' brand-api ').
2. Path-based: `/v1/payments` → `payments-svc`, `/v1/wallets` → `wallets-svc`.
3. Header-based: `X-Region: eu-central`, `X-Tenant: 42`, `User-Agent`/`Accept`.
4. Cookie-based: A/B-тесттер, "жабышчаак" сессиялар.
5. Weighted/Canary: жаңы нускасында Traffic пайызы (1-5% → 100%).
6. Geo/ASN: Өлкө боюнча/ASN жакынкы РОР/регионго жөнөтүлөт.
7. Consistent hashing: ачкычты (user_id/tenant_id) инстанцияга байлоо → кэш-локалитет/жабышчаак.
8. Shadow/Mirroring: жооп таасир этпестен "көмүскө" агымына жол көчүрүп (регресс-тесттер үчүн).

4) Балансташтыруу жана бузулууга туруктуулук

Алгоритмдер: round-robin, least-request, random, ring-hash (consistent).
Health-checks: активдүү (HTTP/TCP) + пассивдүү (код/тайм боюнча).
Outlier ecection: убактылуу "сабоо" жогорку ката/жашыруун менен хост.
Retries: чектелген, per-try убакыт жана Jitter менен; эч кандай идемпотенттиги жок кооптуу ыкмалар.
Connection pooling: Апстремдерге warm-пулдарды кармап, максимумдарды чектейт.

5) периметри аткаруу

Кэш: ачкыч боюнча (method + host + path + Vary), шарттар 'ETag/If-None-Match', TTL жана stale-while-revalidate.
Компрессия: текст жооптор үчүн brotli/gzip.
HTTP/2/3: multiplexing, header-compression; WAF/IDS шайкештигин текшерүү.
Request coalescing: бир эле кэш ачкычы үчүн параллелдүү суроо-талаптарды талкалап.

6) Прокси коопсуздук

TLS: 1. 2 + (жакшы 1. 3), OCSP stapling, HSTS.
WAF/бот чыпкалар: APP багыттоо чейин.
CORS/CSP/Fetch-Metadata: саясатка ылайык.
Header-гигиена: `X-Forwarded-For/Proto`, `Forwarded`, `traceparent`; header-injection жана oversize каршы коргоо.
Body/headers limits: DoS үлгүлөрү үчүн эрте 413/431.
mTLS өнөктөштүк интеграциясы жана ички API үчүн.

7) Деплой схемалар: canary/көк-жашыл/версия

Weighted routing на level-7 (1%, 5%, 25%, 50%, 100%).
Header-gate: желеги/аталышы (internal/testing) боюнча fiche камтыйт.
Blue-жашыл: толугу менен DNS/route, тез rollback.
Көлөкө: метрлер/логторду жазуу менен жаңы версия параллелдүү прогон.

8) Sticky сессиялар жана хеш-багыттоо

Cookie-stickiness (`Set-Cookie: SRV=shard-a; Path=/; HttpOnly ') үчүн stateful-жүктөмөлөр.
Ring-hash/consistent 'user _ id/tenant _ id' - кэштин кросс-майыптыгын азайтуу.
Эскертүү: write жүктөө → hot-spot үчүн "түбөлүк" жабышчаак качуу; per-tenant квота колдонуу.

9) Аймактык жана гео-багыттоо

Anycast + гео-DNS жакын POP тандоо.
Header-override (мисалы, 'X-Аймак') тесттер жана жөндөө үчүн.
Мыйзамдык жактан талап кылынган маалыматтарды локалдаштыруу менен макулдашуу (аймак/юрисдикция боюнча route).

10) Байкоо жана контролдоо

RED Metrics: RPS, error-rate (класстары боюнча), latency p95/p99 per-route/cluster.
Outlier/health: Edgects/кайра киргизүү саны, slow-call-rate.
Логи: структураланган, PII жок; 'trace _ id '/' span _ id' кореляциясы.
Trace (OTel): уктап ingress → router → upstream; p99 диаграммаларында exemplars.

11) Конфигурация мисалдары

11. 1 NGINX: host/path/weighted + кэш

nginx map $http_x_canary $canary { default 0; "1" 1; }
upstream app_v1 { least_conn; server 10. 0. 0. 1:8080 max_fails=3 fail_timeout=10s; }
upstream app_v2 { least_conn; server 10. 0. 0. 2:8080; }

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

Кэш proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=apicache:256m max_size=10g inactive=10m use_temp_path=off;

location /v1/ {
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Request-ID $request_id;
proxy_read_timeout 300ms; proxy_connect_timeout 100ms;

Weighted: 5% on v2 if canary = 1, otherwise 0%
set $backend app_v1;
if ($canary) { set $backend app_v2; }
proxy_pass http://$backend;
}

Static with cache location/assets/{
proxy_cache apicache;
proxy_cache_valid 200 10m;
add_header Cache-Control "public, max-age=600";
proxy_pass http://static_cluster;
}
}

11. 2 Envoy: header-routing, canary, outlier-ejection, mirroring

yaml static_resources:
clusters:
- name: svc_v1 type: STRICT_DNS lb_policy: LEAST_REQUEST outlier_detection:
consecutive_5xx: 5 interval: 5s base_ejection_time: 30s max_ejection_percent: 50
- name: svc_v2 type: STRICT_DNS lb_policy: LEAST_REQUEST
- name: mirror_svc type: STRICT_DNS

listeners:
- name: https filter_chains:
- filters:
- name: envoy. filters. network. http_connection_manager typed_config:
route_config:
virtual_hosts:
- name: api domains: ["api. example. com"]
routes:
- match:
prefix: "/v1"
headers:
- name: "X-Region"
exact_match: "eu"
route:
cluster: svc_v1 timeout: 350ms retry_policy:
retry_on: connect-failure,reset,5xx num_retries: 1 per_try_timeout: 200ms request_mirror_policies:
- cluster: mirror_svc runtime_key: mirror. enabled
- match: { prefix: "/v1" }
route:
weighted_clusters:
clusters:
- name: svc_v1 weight: 95
- name: svc_v2 weight: 5

11. 3 Traefik: rules + middleware

yaml http:
routers:
api:
rule: "Host(`api. example. com`) && PathPrefix(`/v1`)"
service: svc middlewares: [hsts, compress]
middlewares:
hsts:
headers:
stsSeconds: 31536000 stsIncludeSubdomains: true compress:
compress: {}
services:
svc:
weighted:
services:
- name: v1 weight: 95
- name: v2 weight: 5

11. 4 Kubernetes: Ingress + canary үчүн манифест (NGINX Ingress)

yaml apiVersion: networking. k8s. io/v1 kind: Ingress metadata:
name: api annotations:
nginx. ingress. kubernetes. io/canary: "true"
nginx. ingress. kubernetes. io/canary-weight: "5"
spec:
rules:
- host: api. example. com http:
paths:
- path: /v1 pathType: Prefix backend:
service:
name: svc-v1 port: { number: 8080 }

12) Трансформация жана шайкештик

Баш тамгаларды/жолдорду нормалдаштыруу, 'Location' санагы, 'Cache-Control' башкаруу.
gRPC, HTTP/JSON аркылуу (grpc-json-transcoder).
WebSocket/HTTP2 upgrades: прокси 'Upgrade '/' Connection' өткөрүп жибергенине ынануу.

13) сыноо жана башаламандык жагдайлар

Жүктөө: бурст, узун плато, "узун" орган (slow-POST).
апстрим → текшерүү retries/timeout/outlier үчүн Injection кечигүүлөр/жоготуулар.
Canary-Metrics: p95/p99, эски vs жаңы нускасын ката; SLO боюнча автоматтык rollback.
Shadow: жоопторду салыштыруу (семплирлөө) жана side-by-side-логика.

14) Антипаттерндер

Демпотенттикти жана мөөнөттү эске албаганда, глобалдык ретрациялар → дубль жана бороон.
Sticky сессиялар көзөмөлсүз "ысык" шардалар → жүктү кыйшаюу.
Жок health-checks/outlier-ejection → "чириген" бийлик көлмөгө.
Чексиз аталыштар/дене → жөнөкөй DoS.
Схемалардын версиясы жок өзгөрүүлөр менен коопсуздукту аралаштыруу → күтүлбөгөн регрессиялар.
Бир дүйнөлүк кэш ачкычы жок 'Vary' → туура эмес жооптор.

15) iGaming/каржы өзгөчөлүктөрү

Регионалдык: оюнчу/бренд юрисдикциясы боюнча багыттоо; төлөм зоналарын изоляциялоо.
Критикалык маршруттар (депозиттер/корутундулар): кыска таймауттар, бир кайталоо, демпотенттик; өзүнчө кластерлер.
PSP/KYC: атайын upstream бассейндер, катуу retry/timeout саясаты, circuit-breaker, geo-pin.
AB каналдар: гана окуу жолу үчүн төлөмдөр/лимиттер менен коопсуз эксперименттер; write - желектер жана чакан пайыздар аркылуу.

16) Prod-даярдык чек тизмеси

  • TLS 1. 2+/1. 3, OCSP stapling, HSTS; туура 'X-Forwarded-'.
  • Так багыттоо эрежелери: host/path/header/cookie; документтер.
  • Health-checks, outlier-ejection, per-try timeout, чектелген retry.
  • Weighted/canary + shadow; SLO/alerts боюнча авто-rollback.
  • Кэш/кысуу/ETag; body/headers лимиттери; request coalescing.
  • 'trace _ id' менен Логи/соода; RED + outlier/health метриктер; dashboard per-route/cluster.
  • WAF/бот чыпкалар/CORS; oversize жана slow-POST коргоо.
  • Sticky/consistent hashing керек жерде; hot-shard контролдоо.
  • Config нускасы, көчүрүү коопсуз, KMS/Vault сырлар.

17) TL; DR

TLSди периметрге терминдөө жана L7 боюнча host/path/header/cookie аркылуу багыттоо. релиздер үчүн - weighted canary жана shadow; туруктуулук үчүн - ден соолук-текшерүү, outlier-ejection, per-try timeout менен чектелген retries. p95 жакшыртат кайда кэш, кысуу жана consistent hashing колдонуу. RED сигналдарды жана кластерлердин абалын өлчөө, WAF жана өлчөм чектерин сактоо. Критикалык төлөм жолдору үчүн - өзүнчө кластерлер, кыска SLA жана ретра/демпотенттикти катуу башкаруу.

Contact

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

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

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

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

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

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