20 мая 2026

Отладка HTTP заголовков

В рамках активности по замене bitnami чартов дошли руки обновить oauth2-proxy. В процессе столкнулся с тем что перестала работать авторизация в одном из приложений для которого был использован alpha config.

Чтобы проверить какие HTTP заголовки oauth2-proxy передаёт на бэкенд после прохождения авторизации можно запустить "echo" сервис, который будет отображать всю информацию о запросе который к нему поступил.

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: echo
spec:
  replicas: 1
  selector:
    matchLabels:
      app: echo
  template:
    metadata:
      labels:
        app: echo
    spec:
      containers:
        - name: echo
          image: docker.io/mendhak/http-https-echo:31
          ports:
            - containerPort: 8080
          env:
            - name: HTTP_PORT
              value: "8080"
---
apiVersion: v1
kind: Service
metadata:
  name: echo
spec:
  selector:
    app: echo
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080

После применения манифеста остаётся заменить бэкенд на http://echo и посмотреть какие заголовки были переданы со стороны oauth2-proxy.

Проблема была в изменении поведения oauth2-proxy который перестал декодировать base64 строки для secretSource.value и сейчас передаёт значение как есть. В актуальной документации это ещё не отражено, но есть сообщение об ошибке oauth2-proxy #3334 в котором пояснили как это сейчас работает.

В списке изменений для 7.14.0 есть упоминание что изменился формат конфигурации во вставке заголовков, но что там перестало декодировать base64 явным образом не указали. Нужное изменение помечено как "#2628 feat(structured config): revamp of yaml parsing using mapstructure decoder and custom decoders (@tuunit)" - для меня это не звучит как ломающее изменение, хотя по факту оно таким является.


Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.

Комментариев нет:

Отправить комментарий