Обратный прокси-сервер Apache не проходит настраиваемые заголовки для целевого сервера

Я не уверен, что это подходящее место, чтобы задать такой вопрос, но в то же время я не знаю лучшего места, поэтому, пожалуйста, терпите меня.

Я настроил Apache как обратный прокси для мой сервис PostGraphile. Моя идея состоит в том, чтобы использовать Apache для аутентификации Kerberos, а затем сделать службу PostGraphile доступной для аутентифицированных пользователей.

Мне также нужно передать некоторые настраиваемые заголовки этой службе.

На данный момент я могу включить аутентификацию Kerberos. или заголовки прошли. Как только я включаю аутентификацию, заголовки не отображаются на стороне службы.

Это моя конфигурация vhost:

<VirtualHost *:80>
  <Location />
    AuthType Kerberos
    AuthName "Kerberos Authentication"
    KrbAuthRealsm MY.REALM
    KrbServiceName HTTP

    BrowseMatch Windows gssapi-no-negotiate
    KrbMethodNegotiate on

    KrbMethodK5Passwd off

    Krb5Keytab /path/to/keytab.keytab

    # require valid-user # with this line uncomented headers defined later do not appear on service side
    require all granted # with this line uncommented headers defined later do appear on service side however any user can access the service

    ProxyPass 'http://my.service:5000'
    ProxyPassReverse 'http://my.service:5000'
  </Location>
  <Proxy *>
    Order Deny,Allow
    Deny from all
    Allow from local.ip.range
  </Proxy>

  RequestHeader set MYCUSTOMHEADER foo
</VirtualHost>

У меня нет идей.

Я читал документацию Apache, документацию auth_mode_kerb, потоки стека и блоги, но мне кажется, что здесь я столкнулся с какой-то странной ошибкой или упустил что-то фундаментальное ...

Любые подсказки приветствуются

0
задан 1 August 2019 в 12:48
1 ответ

После экспериментов я наконец нашел решение, которое отвечает моим потребностям, однако должен признать, что понятия не имею, почему это работает так, как кажется.

Если я добавлю следующее к своим конфигурация Я могу передать необходимую мне информацию в заголовке Авторизация .

RewriteEngine On
RewriteCond %{LA-U:REMOTE_USER} (.+)
RewriteRule .* - [E=RU:%1]
RequestHeader add Authorization %{RU}e

Однако другие пользовательские заголовки все еще не отображаются, и это останется для меня загадкой.


редактировать:

Я обнаружил, что как только я перезаписываю заголовок авторизации, появляются и мои настраиваемые заголовки. Было бы здорово понять, является ли это предполагаемым поведением (возможно, функцией безопасности) или ошибкой в ​​mod-auth-curb ..

0
ответ дан 5 December 2019 в 01:35

Теги

Похожие вопросы