Nu transmite niciodată antetele de identitate furnizate de client în amonte
înainte (), înainteWebhook() și înainteCallback () copiat fiecare intrare antet, cu excepția gazdei (și, pentru cei doi fără sesiune, antetele credibile) pe cer...
Portavioane SMS, care nu au atins nimic
Traefik trimite fiecare cale pe api.kamocrm.com la această poartă fără cale divizată, şi această clasă a înaintat /api/voip/** şi nimic altceva. Deci /api/bulkt...
Portavioane SMS, care nu au atins nimic
Traefik trimite fiecare cale pe api.kamocrm.com la această poartă fără cale divizată, şi această clasă a înaintat /api/voip/** şi nimic altceva. Deci /api/bulkt...
Dovedește implementarea prin digerare, nu prin etichetă
Comitatul anterior se oprește imaginea setată Acest lucru afirmă rezultat: după lansare, eticheta este rezolvată la digerare la registru și capsulele de rulare...
O reconstrucţie a aceleiaşi comiteri nu a desfăşurat nimic şi a raportat succesul
Imaginea este etichetat cu comite SHA, astfel reconstruirea aceeași comite produce o referință a imaginii identică. Desfăşurarea nu este niciodată atins, statu...
Picătură /api / setări înainte, care a arătat la nimic
Emailservice servește controlerul de sincronizare-integrare la *************************************************************************************************...
Traseu /api/contacte, /api/calendar și /api/setări e-mailservice
Contactele KamoMobile și ecranele calendarului 404'd la fiecare cerere. Nici drumul a fost rutat la gazda Api, astfel încât nimic nu a ajuns EmailService și ser...
Da sala de lansare pentru 15s minReadySeconds acum costurile
progressDeadlineSeconds a fost 60. Aceasta este fereastra un rollout trebuie să arate progrese înainte de Kubernetes renunta si marcheaza ca a esuat, iar anteri...
APIservice nu închide niciodată graţios
Desfășurările au înlocuit singura capsulă a fiecărui serviciu cu nimic pentru a prinde cererile Zbor. Trei setări, aplicate în întreaga flotă: - PreStop doarme...
Codifică semnul decodat exact o dată pe drumul în amonte
21670e5 rutat SocialWebhookController prin intrarea UpstreamUri FULLY-PRE-ENCODED punct, dar URL-ul său este un hibrid: handler valoarea DECODED, în timp ce ge...
Înaintează interogările apelantului pe proxies-ul public
Poarta a încetat să mai codeze coardele de interogare în 3c24d32, dar patru alte proxy-uri în acest serviciu încă concatenizate deja-procent codificate bytes în...
Înaintează interogările apelantului în loc să le codezi de două ori
Fiecare URL pe care această poartă îl construiește este asamblat din GETRequestURI() și GetQueryString () RestTemplate as a String. Supraîncărcarea String Rest...
Harden download kubectl împotriva egress fulg [skip ci]
dL.k8s.io peste ieşirea alergătorului scade intermitent la mijlocul transferului: curl: (56) OpenSSL SSL read: decriptare eșuată sau înregistrare proastă mac ca...
Defer obligatoriu-origine la faza 1
Widget-uri de fază-0 încă apel prin proxy lor server-side, astfel încât de origine-blocare nu Beneficiu încă și fiecare viu cheie publică-chat are o listă de pe...
Nu cache-invalidat chei pe erori tranzitorii în aval (numai pe invalid definitiv)
Numai tastele cache-invalidate cu adevărat invalide, nenegate de origine (prevente valabile-cheie DoS)
Pe un Cache Redis rece, o cheie de chat public valid cu o origine greșită / absent a fost Cached ca INVALID pentru 60 de ani, negarea cererilor de origine corec...
Bind WS releu de strângere de mână la Origine + adăugați rece-cache tastă de validare toamna
Extrase PublicChatController's private validationViaDownstream() into a shared PublicChatKeyRezolver fasole astfel PublicChatWebSocketHandler poate refolosi la ...
Fă obligatorie lista de permise a originii chatului public (negare a originii lipsă/listă goală)
Carve /api/voip/recordings/** out of the wildcard VOIP forwarder
The /api/voip/** catch-all in APIGatewayController was shadowing the dedicated VoipRecordingUploadController POST /api/voip/recordings/upload mapping when Sprin...
Mărește limita de încărcare a fișierului la 500MB
Primavara Boot implicit capac piese multipart la 1MB, provocând imagini de fundal uploads to fail with 500 in request.getParts(). Potrivire serviciu de securita...
Move CORS to Traefik via kamo-middlewares, remove in-app CorsFilter
The CorsFilter @Bean in the Spring app was silently not applying headers after WebConfig.java was removed. CORS is now handled entirely at the Traefik layer by ...
Eliminați antetele duplicate CorsFilter și benzi în amonte CORS în poarta de acces
WebConfig.java a definit o a doua fasole CorsFilter care concurează cu CorsConfig. Java Bean, riscând duplicatul scrie. A şters-o ca să existe doar un singur Co...
Setează cererea/josul pentru organismele JSON transmise Serviciului de securitate
RestTemplate în amonte ar putea lăsa conținut-tip incompatibile cu primăvara @RequestBody, cauzand 415. După citirea corpului brut, forța APLICARE JSON Când înc...
Validate Forgejo HMAC-SHA256 signature instead of plain secret header
Forgejo sends webhook secret as X-Gitea-Signature / X-Forgejo-Signature HMAC-SHA256 hash, not as a plain header value. Read body, verify HMAC, then forward to S...
Include SUBSCRIPTION_CATALOG in default scopes fallback
When MediaService doesn't return scopes in the validation response, default to including both PUBLIC_CHAT and SUBSCRIPTION_CATALOG scopes. This ensures public c...
Use getServerName() instead of getHeader(Host) for original host resolution
ForwardedHeaderFilter consumes X-Forwarded-Host and adapts getServerName() accordingly, while getHeader(Host) returns the raw HTTP Host which may be a K8s inter...
Use HTTP on port 80 for meet service URL to match other services
The HTTPS endpoint on 8443 causes SSL cert mismatch when routing through K8s internal DNS. All other services use HTTP on port 80.
Adaugă meet.service.url la configurarea K8s pentru a preveni prăbuşirea APIservice
Preserve upstream X-Forwarded-Host instead of overwriting with own Host
When an upstream proxy (Next.js) sets X-Forwarded-Host to the browser's original host, APIService now preserves it instead of overwriting with its own Host head...
Explicitly forward visitor IP to downstream services
ForwardedHeaderFilter consumes X-Forwarded-For from the incoming request, so when APIService forwards to SecurityService via RestTemplate the header is missing....
Move AccessEnforcementFilter to scanned package, revert ComponentScan
The widened @ComponentScan caused a corsFilter bean conflict between CorsConfig and WebConfig. Moved the filter into com.kamo.api.app.config (already scanned by...
Add Redis connection config to K8s configmap
APIService pod was failing to start because spring-boot-starter-data-redis auto-configuration couldn't connect to Redis at localhost:6379. Points to redis.kamo....
Use JdkClientHttpRequestFactory to support PATCH method forwarding
The default RestTemplate uses SimpleClientHttpRequestFactory (HttpURLConnection) which doesn't support the PATCH HTTP method, causing branch-titles save to fail...
Adaugă configurare Buildx cu configurare de registru nesigură pentru a rezolva 401 erori de aut
Add preStop hooks, probes, and increase termination grace period to prevent deployment timeouts
Properly forward multipart/form-data by rebuilding parts for RestTemplate
Ca ceea ce vezi de transport maritim?
Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.