Nunca adelante cabezas de identidad suministradas por clientes aguas arriba
hacia adelante, delanteroWebook() y delanteroCallback() copiaron cada entrada cabecera excepto Host (y, para los dos sin sesiones, las cabezas de credencial) a ...
Transportista de Avanza OlterE. webhooks, que no alcanzó nada en absoluto
Traefik envía cada camino en api.kamocrm.com a esta puerta sin camino dividido, y esta clase reenvió /api/voip/** y nada más. Así que /api/bulktext/inbound/-lle...
Transportista de Avanza OlterE. webhooks, que no alcanzó nada en absoluto
Traefik envía cada camino en api.kamocrm.com a esta puerta sin camino dividido, y esta clase reenvió /api/voip/** y nada más. Así que /api/bulktext/inbound/-lle...
Deba el despliegue por digestión, no por etiqueta
El commit anterior se detiene la imagen de conjunto siendo un silencioso sinop. Esto afirma lo Resultado: después del despliegue, la etiqueta se resuelve a un c...
Una reconstrucción del mismo compromiso no desplegó nada y reportó éxito
La imagen está etiquetada con el commit SHA, por lo que reconstruir el mismo commit produce una referencia de imagen idéntica. "kubectl set image". entonces no ...
Dejar adelante los /api/settings, que no apuntaba a nada
EmailService sirve al controlador de sincronización en ************* no /api/settings/integraciones - de modo que Adelante llegó a un camino que el servicio no ...
Route /api/contactos, /api/calendar y /api/configuraciones a EmailService
Los contactos y pantallas del calendario de KamoMobile 404'd en cada solicitud. Ni tampoco camino fue enrutado al anfitrión de Api, por lo que nada llegó EmailS...
Dale la sala de lanzamiento de los 15s minReadySeconds cuesta ahora
progressDeadlineSeconds fue de 60. Esa es la ventana que un despliegue tiene que mostrar progreso antes Kubernetes se rinde y marca fracasó, y el compromiso ant...
APIService nunca cerró con gracia en absoluto
Los despliegues sustituyeron a la única cápsula de cada servicio sin nada para captar las solicitudes en el vuelo. Tres ajustes, aplicados en toda la flota: - ...
Codeba el token decodificado exactamente una vez en el camino río arriba
21670e5 enrutado SocialWebhookConlor a través de la entrada FULLY-PRE-ENCODED de UpstreamUri punto, pero su URL es un híbrido: "token" es un PathVariable, así q...
Adelante, la consulta del llamante se alecha a los representantes de los representantes de la opinión pública
La pasarela dejó de las cuerdas de consulta enviadas de doble codificación en 3c24d32, pero cuatro otros proxies en este servicio todavía concatenados ya por ci...
Adelante, la consulta del llamante, portes en lugar de codarlos dos veces
Cada URL esta puerta de compilación se ensambla desde getRequestURI() y getQueryString (a los dos ya por ciento-codificado * y luego fue entregado a Resttecado ...
Apreciar la descarga de kubectl contra egress escamosas [sillar ci]
dl.k8s.io sobre la egresación del corredor deja caer intermitentemente la transferencia intermedia: rl: (56) OpenSSL SSL-read: descifrado o mal registro mac q...
Aplace el origen obligatorio de la Fase 1 - OriginMatcher opt-in (vacía de la lista de permiso / falta de Origen permitido)
Los widgets de fase-0 todavía llaman a través de su proxy del lado del servidor, por lo que el bloqueo de origen no tiene beneficio, sin embargo, y cada clave d...
No invalide las llaves en los errores transitorios posteriores (sólo en el inválido definitivo)
Sólo las llaves genuinamente inválidas de caché, no ennegadas por origen (impedisiona DoS válida)
En un cache frío Redis, una llave válida de chat público con un origen equivocado/ausente fue enjaulado como INVALID para los años 60, negando las solicitudes d...
Apretón de manos de relé de WS enlazo de unión a Origin . añadir relevo de validación de clave en frío
Extrae la validación privada de PublicChatControllerViaDownstream () en una parte compartida PublicChatKeyResolver joya para que PublicChatWebSocketHandler pued...
Carve /api/voip/grabaciones/** fuera del delantero VOIP wildcard
El /api/voip/** en APIGatewayController estaba haciendo sombra a la de dedicado VoipRecordingUcuploadController POST /api/voip/recordings/uploads/upload mapeo c...
Elerar el límite de tamaño de la carga de archivo a 500MB
Spring Boot por defecto tapa piezas multipartes a 1MB, causando imagen de fondo subidas para fallar con 500 en request.getParts(). Coinado SecurityService's lím...
Muévete CORS a Traefik a través de kamo-middlewares, eliminar en la aplicación CorsFilter
La aplicación de CorsFilter en la aplicación de Primavera no estaba aplicando headers después de WebConfig.java fue removida. CORS se maneja ahora por completo ...
Eliminar las cabeceras de CorsFilter y desnudar las cabeceras CORS en la pasarela
WebConfig.java definió un segundo frijol CorsFilter compitiendo con CorsConfig.java's frito, arriesgándose a que la cabecera duplicada escriba. Lo eliminaron po...
Estanque la aplicación/json para los órganos JSON remitidos a SecurityService
RestTemplate para dar el tope de altura podría dejar Content-Type incompatible con la primavera "SoliceríaBody", causando 415. Después de leer el cuerpo crudo, ...
Validar la firma Forgejo HMAC-SHA256 en lugar de cabecera secreta
Forgejo envía secreto de redhook como X-Gitea-Signature / X-Forgejo-Signature HMAC-SHA256 hachácete, no como un valor de cabecera. Leer el cuerpo, verificar HMA...
Incluir SUBSCRIPTION.CATALOG en los alcances por defecto falla
Cuando MediaService no devuelve los alcances en la respuesta de validación, Por defecto, incluyendo los visors de PUBLIC-CHAT y SUBSCRIPTION-CATALOG. Esto asegu...
Use getServerName() en lugar de getHeader(Host) para la resolución original del host
ForwardedHeaderFilter consume X-Forwarded-Host y adapta getServerName() en consecuencia, mientras getHeader (Host) devuelve el huésfico HTTP crudo que puede ser...
Utiliera HTTP en el puerto 80 para satisfacer la URL de servicio para que cointe con otros servicios
La variable HTTPS en 8443 causa desajuste de certificados SSL al enrutar a través de K8s interno DNS. Todos los demás servicios utilizan HTTP en el puerto 80.
Utilícele la URL correcta de MediaService (https port 8443) para meet.service.url
Añadir meet.service.url a K8s configmap para evitar accidente de APIService
Preservar X-Forwarded-Host en lugar de sobreescritura con su anfitrión
Cuando un proxy aguas arriba (Next.js) establece X-Forwarded-Host al navegador's anfitrión original, APIService ahora lo preserva en lugar de sobreescritura con...
Explicar explícitamente la IP del visitante a los servicios posteriores
ForwardedHeaderFilter consume X-Fored-For de la solicitud entrante, así cuando APIService se dirige a SecurityService vía RestTemplate la cabecera - Falta. Ahor...
Move AccessConforcementFilter a paquete escaneado, revertir ComponentScan
El ensajo de la empresa Picacan causó un conflicto de frijol corsFilter entre CorsConfig y WebConfig. Movié el filtro en com.kamo.api.app.config (ya escaneado p...
Añadir Config de conexión Redis a K8s configmap
La vaina de APIService no estaba empezando porque Spring-boot-starter-data-redis la auto-configuración no pudo conectarse a Redis en localhost:6379. Puntos a re...
Utilízate JdkClientHttpRequestFactory para soportar el reenvase del método PATCH
El RestTemplate por defecto utiliza SimpleClientHttpRequestFactory (HttpURLConnection) que no soporta el método PATCH HTTP, causando que los títulos de rama se ...
Añadir la configuración de Buildx con la configuración de registro insecure para resolver errores 401 auth
Añadir mapeo de rutas para /api/notes/** para reenviar a SecurityService
Permite la terminación inmediata de las vainas atascadas (maxindisponible: 1)
Latía atascada las vainas atascadas y añade la configuración de cierre elegante
Añadir los ganchos preStop, sondas y aumentar el período de gracia de terminación para evitar los plazos de despliegue
Adelante adecuadamente multiparte/datos de forma mediante la reconstrucción de piezas para RestTemplate
Como lo que ves enviaste?
Cada una de estas actualizaciones aterriza en su espacio de trabajo automáticamente. Empieza gratis y verlo crecer semana tras semana.