- Порезанный
- 23 сентября 2026 г. в 11:36 UTC
- Автор
- Kamo
- Обещать
- a3d6885
POST /convert-vector и WS /ws /pipeline вообще не имели аута - 4820f44 ограниченный размер загрузки и конверсионная параллель, но оставила фактическую дыру открытой до принятия решения о том, как аутентифицировать необработанный браузер WebSocket, поскольку ни токен на предъявителя, ни собственный заголовок X-OTK kamo-internal не являются опция там (WebSocket не может установить пользовательские заголовки и одноразовый ключ в строке запросов WS) Посадка в бревнах Traefik / Access. Траефик маршрутов /вектор-ws/* прямо к этой услуге в обход kamo-internal APIService шлюз полностью, так что любой, кто мог бы добраться до этой капсулы, ********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** бесплатно или использовать его в качестве анонимного прокси-сервера для преобразования изображений. Исправление: оба абонента имеют один и тот же код браузера на внутреннем.<domain>, поэтому браузер уже отправляет *** сессионный файл cookie по каждому запросу в эту службу, так же, как и в камо-внутреннюю. себя. services/session auth.py проверяет, что cookie - это именно то, как kamo-internal проверяет один на стороне сервера (его приложение /lib /ksemSessionShared.ts / sessionServer.ts / apiProxy.ts все согласны с этим); Форма: значение cookie - идентификатор сеанса, действительный только при 128 шестнадцати символах, и сеанс является действителен, когда у Redis есть что-либо на «***» + этот идентификатор — только для чтения, из реплики, с тем же самым 5-attempt/2s retry собственные маршруты камо-интернала используют для переноса задержки репликации. Ошибка Redis Как «не найдено», вместо того, чтобы размахивать звонящим. - POST/конверт-вектор: 401 перед загрузкой. - WS/ws/pipeline: accept() still happens (увикорн доставляет только реальный код WS close - здесь 1008, Нарушение политики — как только рукопожатие началось; закрытие, прежде чем принять коллапс HTTP 403 с отброшенным кодом, затем закрывается немедленно, прежде чем какой-либо кадр будет прочитан. - k8s/configmap.yaml получает то же самое **************** Камо-внутренний собственный Configmap несет — Redis этого кластера не имеет ACL, поэтому PASSWORD пуст везде, где он есть. Потребляемый, а не буквально стоящий за Тайной, которой не существует. Никогда не регистрирует значение cookie или идентификатор сеанса (ключ Redis - это идентификатор, только что исправленный). Здравоохранение остается открытым, преднамеренно — ничто здесь не меняет его. Тесты: test session auth.py. Мутация проверяется путем возврата основного. py's two call sites locally: Тесты отказов на стороне HTTP терпят неудачу (смехотворный конвертер вызывается вместо пропуска) Тест на стороне WebSocket висит прямо (ничто никогда не закрывает соединение) - оба подтверждают, что охранник стойкость; восстанавливается после Известный пробел, выходящий за рамки: путь локального устройства kamo-internal (NEXT PUBLIC IMAGE PIPELINE URL/) localhost:8000) называет эту услугу кросс-оригинальной, и ни logoVectorize.ts fetch(), ни useImagePipeline.ts's WebSocket отправляет учетные данные перекрестного происхождения по умолчанию, поэтому локальный разработчик против Местный векторный сервис теперь будет 401/1008 на обеих конечных точках. Производство не подвержено влиянию (однородного происхождения).
