Я не уверен, что это подходящее место, чтобы задать такой вопрос, но в то же время я не знаю лучшего места, поэтому, пожалуйста, потерпите меня.
Я настроил 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, потоки стека и блоги, но, похоже, я столкнулся с какой-то странной ошибкой или упустил что-то фундаментальное ...
Любые подсказки приветствуются
После экспериментов я наконец нашел решение, которое удовлетворяет мои потребности, однако должен признать, что понятия не имею, почему это работает так, как кажется.
Если я добавлю следующее в свою конфигурацию, я могу передать необходимую мне информацию в Authorization
заголовок.
RewriteEngine On
RewriteCond %{LA-U:REMOTE_USER} (.+)
RewriteRule .* - [E=RU:%1]
RequestHeader add Authorization %{RU}e
Однако другие настраиваемые заголовки по-прежнему не отображаются, и это останется для меня загадкой.
редактировать:
Поработав еще немного, я обнаружил, что как только я перезаписываю заголовок авторизации, появляются и мои настраиваемые заголовки. Было бы здорово понять, является ли это предполагаемым поведением (возможно, функцией безопасности) или ошибкой в mod-auth-curb ..