Никогда не перенаправляйте предоставленные клиентом заголовки идентификации вверх по течению
форвард(), впередWebhook() и впередCallback() скопировали каждый входящий Заголовок, кроме Host (и, для двух без сеанса, заголовок учетных данных) на запрос выш...
Переносчик SMS веб-хуков, который вообще ничего не достиг
Traefik отправляет каждый путь на api.kamocrm.com к этому шлюзу без разделения пути. и этот класс пересылается /api/voip/** и ничего больше. Так /api/bulktext/i...
Переносчик SMS веб-хуков, который вообще ничего не достиг
Traefik отправляет каждый путь на api.kamocrm.com к этому шлюзу без разделения пути. и этот класс пересылается /api/voip/** и ничего больше. Так /api/bulktext/i...
Доказать развертывание по дайджесту, а не по тегу
Предыдущее обязательство останавливает «установленное изображение» как молчаливое бездействие. Это утверждает, что результат: после развертывания тег решается н...
Восстановление одного и того же обязательства ничего не привело к успеху
Изображение помечено фиксированным SHA, поэтому восстановление одного и того же фикса производит Идентичная ссылка на изображение. «Объектное заданное изображен...
Бросьте /api/настройки вперед, которые ни на что не указывают
EmailService обслуживает контроллер синхронизации **************** не /api/settings/integrations — так что В любом случае сервис не отображает путь и возвращает...
Маршрут /api/контакты, /api/календарь и /api/настройки в EmailService
Контакты и экраны календаря KamoMobile 404'd по каждому запросу. Ни то ни другое Путь был маршрутизирован на хосте api, поэтому ничего не дошло до EmailService....
Беги двумя стручками
реплики 1 -> 2. Эта услуга не работает @Scheduled и не связывает эксклюзивные NATS, поэтому Вторая капсула ничего не дублирует — это безгосударственный запрос, ...
Дайте место для развертывания для 15-минутных ReadySeconds теперь стоит
progressDeadlineSeconds исполнилось 60 лет. Это окно, в котором развёртывание должно показать прогресс до того, как Kubernetes сдается и отмечает, что он потерп...
Восстановите окончание линии CRLF этого манифеста
Предыдущее обязательство переписало файл со сценарием, который нормализовал его в LF. Полный дифф для изменения, которое коснулось дюжины строк. Никакого измене...
APIService никогда не закрывается
Деплойты заменили единственный блок каждой службы, в котором не было ничего, чтобы поймать запросы. Полёт. Три настройки, применяемые по всему флоту: Престоп с...
API-ключ для живых звонков от клиента PBX
Компаньон VoipRecordingUploadController, на специально выделенном Объем VOIP CALL EVENTS: загрузка записи после факта и создание Чье-то телефонное кольцо сейчас...
Вперед /api/email/oauth/callback в EmailService
Цель перенаправления Google OAuth. Такая же форма, как электронная почта и поставщик встреч Обратные вызовы рядом с ним: публичные и без сессии, потому что вспл...
Переместить маяк отслеживания в MediaService
Клоны впередПубликВебинар, а не общий вперед(): этот метод печатает каждый URI, карту заголовка и длину тела, чтобы стадировать без уровня и Маяк посетителя нес...
Восстановление против исправления share-library @Lob LONGVARCHAR
Диалект Hibernate PostgreSQL читает колонки @Lob String как OID через getLong(). Влияет на заметки, контакты, календарь, токены OAuth, пароли IMAP, кампанию по ...
Точка в YugabyteDB и используйте PostgreSQLDialect
CockroachDB был заменен на YugabyteDB. Связные струны движутся от cockroachdb-public:26257 to yb-tserver-service:5433, и диалект Hibernate От **************** д...
Mirror Maven Central через Google GCS
Каждая стадия Докера начинается с холода ~/.m2 и восстанавливает все дерево зависимости. Полный вес каждой параллельной сборки. Она отвечает 429 и, дважды сегод...
Закодируйте декодированный токен ровно один раз на пути вверх по течению
21670e5 маршрутизированный SocialWebhookController через вход UpstreamUri точка, но ее URL-адрес является гибридом: «токен» - это переменная @PathVariable, так ...
Вперед байты запросов абонента на публичных прокси
Шлюз остановил двойное кодирование переадресованных строк запросов в 3c24d32, но четыре Другие прокси-серверы в этой службе по-прежнему содержат уже закодирован...
Передайте байты запросов абонента вместо того, чтобы кодировать их дважды
Каждый URL-адрес, который строит этот шлюз, собирается из getRequestURI(). getQueryString() — оба уже закодированы в процентах — и затем были переданы Восстанов...
Обеспечить соблюдение правил доступа арендаторов к шлюзу
Этот фильтр был инертным с момента его написания. resolveOrgId читать org:domain:<host> Из Редиса ничто никогда не писало этот ключ, и нулевое возвращение прова...
Маршрут встречи провайдера OAuth callback
Zoom и Microsoft перенаправляют браузер на этот шлюз после авторизации организации Приложение Камо. Всплывающее окно приземляется здесь без сеанса арендатора - ...
Укрепите загрузку kububl против шелушащегося выхода [skip ci]
dl.k8s.io по выходу бегуна периодически падает в середине передачи: Curl: (56) OpenSSL SSL read: расшифровка не удалась или не удалась который не справляется с ...
Прокси-маршрут передачи AI->human handoff
Добавить POST **************** Обращение в MediaService Вместе со своим создателем, сестрой. Без этого функция передачи была мертва по прибытии: конечная точка...
Маршрут /api/email + /api/поддержка через хост api
(EmailService) и Поддержка (MediaService, тот же восходящий поток, что и /api/media) Незарегистрированный 404. Добавьте оба форварда и исправьте электронную поч...
GET/api/public-chat/bootstrap шлюз
Добавьте конечную точку bootstrap, которая повторно использует существующий трубопровод proxyWithAuth. (ключевая валидация + опция происхождения + область приме...
Отложите обязательное начало фазы 1 — OriginMatcher opt-in (пустый список разрешений / отсутствующий Origin разрешен)
Виджеты фазы 0 по-прежнему звонят через прокси-сервер, поэтому блокировка происхождения не имеет При этом каждый открытый публичный чат имеет пустой список разр...
Только кэш-инвалидные подлинно-инвалидные ключи, а не отклоненные по происхождению (предотвращают DoS с действительным ключом)
На холодном кэше Redis был действительный открытый ключ с неправильным / отсутствующим Origin. Кэшируется как INVALID для 60-х годов, отрицая правильные запросы...
Bind WS передаст рукопожатие Origin + добавит запасной ключ проверки холодного кэша
Выдержки из частной проверки PublicChatControllerViaDownstream() в общий PublicChatKeyResolver bean, чтобы PublicChatWebSocketHandler мог повторно использовать ...
Проверить *** PoW на краю создания публичной сессии (при наличии полезной нагрузки)
Обязательный список разрешений для публичных чатов (отрицание пропущенного списка)
Proxy GET /lo-presence для MediaService
Опорно-сессионный прокси уже перенаправляет необработанное тело, так что объединенный виджет AgentMemberId достигает MediaService нетронутым. Добавьте прокси-се...
Публичный пропуск по электронной почте OAuth provider callback
Вперед, вперед ******************* В адрес электронной почты (ползает по ауту, не перенаправляет после), отражая обратный вызов RingCentral OAuth. Это фиксирова...
Форвардная подпись x-twitter-webhooks-signature на границе социального веб-хука (X/Twitter Account Activity)
Миграция до k1m1 (регистр +kubeconfig от k1m1, капля k2m1, простая установка кубектля)
Публичный программный API шлюз (API SIGNATURE scope)
Добавить /api/public/esign/** в PublicApiController: проверяет ключ API, требует области API SIGNATURE, пределов скорости и пересылается в ESigService Внутрення...
Proxy support-message translate endpoint
Adds a passthrough route for the new MediaService endpoint that translates a single support-chat message into the visitor's URL locale. The marketing-side chat ...
Scope concurrency to build jobs, not Kubernetes deploys
Workflow-level concurrency serialized the whole pipeline (including kubectl rollouts). Move the group to the build job only so deploy jobs from different runs c...
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...
VoipRecordingUploadController для загрузки с поддержкой Камо-астерикса
POST/api/voip/recordings/upload принимает многокомпонентные кузова от kamo-asterisk-support Работает на FreePBX хостах. X-Api-Key получил новый VOIP RECORDING U...
Увеличить размер загрузки файла до 500 МБ
Spring Boot по умолчанию колпачок многочастных частей на 1 МБ, вызывая фоновое изображение Загружается, чтобы выйти из строя с 500 в request.getParts(). Служба ...
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 ...
Удалите дубликаты CorsFilter и разберите заголовки CORS в шлюзе
WebConfig.java определил второй CorsFilter, конкурирующий с CorsConfig. Ява бобы, рискуя дублировать заголовки. Удален, поэтому существует только один CorsFilte...
Настройка приложения/json для органов JSON, направляемых в Службу безопасности
RestTemplate может оставить Content-Type несовместимым с Spring @RequestBody, вызывает 415. После прочтения необработанного тела, нажмите APPLICATION JSON Полез...
Как вы видите судоходство?
Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.