Czy wiesz, czy można używać Nginx z Shibboleth?
Dopóki FastCGI nie obsługuje trybu „autoryzującego”. Dokumentacja Shibboleth 2 opisuje aplikację FastCGI SP, ale wyjaśnia, że nie działa ona z Nginx, ponieważ brakuje trybu „autoryzacji” wymaganego dla filtra.
Wątek Nginx pokazuje, że wiele osób chce trybu „autoryzatora”, ale jego wdrożenie jest zbyt trudne. Kiedy ludzie próbują się poddać .
Plakat Alex w tym wątku Railsów udostępnia kod Ruby dla autoryzacji Shibboleth, ale wygląda na to, że użył Apache. Inne plakaty używające Nginx wciąż nie mogły sprawić, by działało.
Tak, to możliwe. Zainstaluj i skonfiguruj nginx-http-shibboleth
moduł dla nginx, który umożliwia nginx zrozumienie części specyfikacji autoryzatora FastCGI, które może obsługiwać nginx ; wystarczająca do pomyślnego uwierzytelnienia Shibboleth. Twoja instalacja będzie wymagała kompilacji FastCGI Shibboleth Service Provider (SP) i odpowiedniej konfiguracji nginx do komunikacji z aplikacjami shibauthorizer
i shibresponder
FastCGI.
Wszystkie aplikacje i środowiska zaplecza mogą być obsługiwane w pewien sposób, zakładając, że obsługują albo nagłówki HTTP, albo zmienne środowiskowe ustawione z nginx. Przekazywanie atrybutów Shibboleth do aplikacji odbywa się albo przez zmienne środowiskowe nginx (via shib_request_set
), albo przez shib_request_use_headers on;
nagłówki HTTP (uważaj na fałszowanie). Nigdy nie korzystałem z aplikacji Passenger do hostowania aplikacji, ale w twoim przypadku wygląda na to, że możesz użyć passenger_env_var
i shib_request_set
przenieść atrybuty Shibboleth do swojej aplikacji.
Pełny proces instalacji znajduje się w repozytorium GitHub na https://github.com/nginx-shib/nginx-http-shibboleth .
Oświadczenie: Jestem bieżącym opiekunem tego modułu.
Uwaga : ten moduł zastępuje wszystkie poprzednie posty na blogu lub wpisy na wiki, które mogłem wcześniej napisać.
Sam jeszcze tego nie próbowałem, ale sprawdzam wpisy Davida Beiteya na wiki Shibboleth .