Мне интересно, возможно ли иметь только одного поставщика услуг Shibboleth (SP), если вы будете передавать запросы всем своим сайтам через один обратный прокси (с разгрузкой SSL и т. Д.).
Итак, допустим, у меня есть следующие сайты в разных доменах:
example.org
blog.example.org
wiki.example.org
Сами сайты и их соответствующие веб-серверы находятся на своей собственной виртуальной машине и не могут напрямую связываться с внешним миром. У меня есть другая виртуальная машина, которая запускает только обратный прокси для всех этих доменов и передает запросы на веб-сервер на соответствующей виртуальной машине. Назовем этот обратный прокси proxy.example.org
(обратите внимание, что это не будет доступным доменным именем).
Теперь вместо настройки SP для каждого сайта я бы хотел установить его только на proxy.example.org
, настроив его так, чтобы каждый запрос на
example.org/secure
blog.example.org
wiki.example.org
запускал аутентификацию Shibboleth. После успешной аутентификации запрос передается. Возможно ли это?
Я спрашиваю, поскольку нашел только этот ресурс https://wiki.shibboleth.net/confluence/display/SHIB2/SPReverseProxy , который я нахожу очень неоднозначным, поскольку там только сказано
Так что я действительно не знаю, где должны быть установлены SP ...
Да, это возможно. Я настроил один прокси Shib несколько лет назад. Вот вся документация, которую я тогда написал (это настройка на Solaris, некоторые вещи на Linux могут отличаться). Вам понадобится сервер, который содержит приложение, которое вы хотите защитить, а также прокси-сервер с настройками Shibboleth и некоторыми правилами прокси на нем.
shibd -t -c /opt/AAI/etc/shibboleth/shibboleth2.xml
Тип обработчика="Статус"
и удалите ACL в конце. Ваш обработчик должен выглядеть так:
Скопируйте этот корешок
NameVirtualHost IPADDR:80.
Имя сервера DOMAIN
ServerAdmin foor@bar.com
Перенаправление / https://DOMAIN/
ErrorLog var/log/aai.error.log
CustomLog var/log/aai.access.log обычный
Имя сервера DOMAIN
ServerAdmin foor@bar.com
# Обработчик Shibboleth должен обрабатывать все запросы HTTPS...
Отменить заказ, разрешить
Разрешить от всех
AuthType shibboleth
Применение прибора ShibRequestSet
ShibUseHeaders On
Требуется шибболет
местонахождение>
# ...но проводить сеанс только в том месте, которое находится внизу.
<Наличие/безопасность>
AuthType shibboleth
ShibRequireSession On
Применение прибора ShibRequestSet
ShibUseHeaders On
Требовать действительного пользователя
местонахождение>
двигатель SSLEngine On
SSLCertificateFile etc/server.crt
SSLCertificateKeyFile etc/server.key
SSLC-сертификатChainFile etc/server-ca.crt
SSLProxyEngine на
ProxyRequests off
ProxyPass /secure https://WEBSERVERURL
ProxyPassReverse /secure https://WEBSERVERURL
ProxyPreserveHost On
ErrorLog var/log/APPNAME.error.log
CustomLog var/log/APPNAME.access.log обычный
Замените имя приложения, URL WEBSERVER, IP ADDR и DOMAIN, вам также придется изменить пути для вашей установки.
Перезапустите apache и shibd
Наслаждайтесь
.