Ist es möglich, Shibboleth 2 mit Nginx + Passenger zu verwenden?

Antworten:

8

Erst wenn FastCGI den "Authorizer" -Modus unterstützt. In der Shibboleth 2-Dokumentation wird eine FastCGI SP-Anwendung beschrieben , es wird jedoch erläutert, dass sie mit Nginx nicht funktioniert, da der für den Filter erforderliche "Authorizer" -Modus fehlt.

Ein Nginx-Thread zeigt, dass viele Leute den "Authorizer" -Modus wollen, aber es ist zu schwierig, ihn zu implementieren. Wenn Leute es versuchen, geben sie auf .

Poster Alex in diesem Rails-Thread teilt den Ruby-Code für Shibboleth auth, scheint jedoch Apache verwendet zu haben. Andere Poster, die Nginx verwenden, konnten es immer noch nicht zum Laufen bringen.

Turadg
quelle
1

Ja es ist möglich. Installieren und konfigurieren Sie das nginx-http-shibbolethModul für nginx, mit dem nginx die Teile der FastCGI-Autorisierungsspezifikation verstehen kann, die nginx unterstützen kann . genug für die erfolgreiche Shibboleth-Authentifizierung. Ihre Installation erfordert den FastCGI-Build des Shibboleth Service Providers (SP) und die entsprechende Konfiguration von nginx für die Kommunikation mit den shibauthorizerund shibresponderFastCGI-Anwendungen.

Alle Backend-Anwendungen und -Umgebungen können auf irgendeine Weise unterstützt werden, vorausgesetzt, sie unterstützen entweder HTTP-Header oder Umgebungsvariablen, die von nginx festgelegt wurden. Das Übergeben von Shibboleth-Attributen an Ihre Anwendung erfolgt entweder über Nginx-Umgebungsvariablen (via shib_request_set) oder über shib_request_use_headers on;HTTP-Header (Vorsicht beim Spoofing). Ich habe Passenger noch nie zum Hosten einer App verwendet, aber in Ihrem Fall können Sie anscheinend Shibboleth-Attribute verwenden passenger_env_varund shib_request_setin Ihre Anwendung integrieren.

Der vollständige Einrichtungsprozess befindet sich im GitHub-Repository unter https://github.com/nginx-shib/nginx-http-shibboleth .

Haftungsausschluss: Ich bin der aktuelle Betreuer dieses Moduls.

Hinweis : Dieses Modul ersetzt alle vorherigen Blog-Beiträge oder Wiki-Einträge, die ich möglicherweise zuvor geschrieben habe.

davidjb
quelle