Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Ezt hívja autentikációkor minden oldalra kiszolgálás előtt, amin be van állítva itt az nginx confban, hogy authentikálni kell
- # Globálisan bekapcsoljuk mindenre, hogy a saját autentikációs modulunkat meg kell hívni előtte. Amit védtelenül akarunk hagyni, arra kikapcsoljuk explicit ezze: auth_request off;
- auth_request /auth;
- location = /auth {
- internal;
- proxy_pass http://127.0.0.1:XXXX/auth;
- proxy_pass_request_body off; # no need to send the POST body
- proxy_set_header Content-Length "";
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Proto $scheme;
- proxy_set_header X-Original-URI $request_uri;
- proxy_set_header X-Forwarded-Context "";
- proxy_set_header X-Forwarded-Port "443";
- proxy_set_header X-Forwarded-Proto "https";
- proxy_set_header X-Forwarded-Server "mydomain.com";
- proxy_set_header X-Auth "auth";
- }
- # Ez a login oldal. Ugyanaz a szerver van mögötte, mint az auth mögött.
- location /login {
- auth_request off;
- proxy_pass http://127.0.0.1:XXX/login;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Proto $scheme;
- proxy_set_header X-Original-URI $request_uri;
- proxy_set_header X-Forwarded-Context "";
- proxy_set_header X-Forwarded-Port "443";
- proxy_set_header X-Forwarded-Proto "https";
- proxy_set_header X-Forwarded-Server "mydomain.com";
- proxy_set_header X-Auth "login";
- }
- # If the user is not logged in, redirect them to login URL
- location @error401 {
- return 302 https://mydomain.com/login/redirect?url=https://$http_host$request_uri;
- }
- location /szolgaltatas1/ {
- # a globális auth_request beállítás erre is érvényes, nem kell újra felvenni
- # Ezeket az alkalmazás speckója szerint kell beállítani, amire annak szüksége van. Ha az alkalmazás képes
- # a kontextusát proxy headerekből kiolvasni, akkor külön konfigurációra nincs is szüksége
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Proto $scheme;
- proxy_set_header X-Original-URI $request_uri;
- proxy_set_header X-Forwarded-Context "/szolgaltatas1";
- proxy_set_header X-Forwarded-Port "443";
- proxy_set_header X-Forwarded-Proto "https";
- proxy_set_header X-Forwarded-Server "mydomain.com";
- # Return value parsed from the access file - ezeket a headereket az autentikátor kitölti a response-ban
- # És az aloldal már mint a kérés headerjeit kapja meg a bejelentkezett usert és groupot
- # Ez az a rész, ami nem akart elsőre működni, végül az autentikátor a kisbetűs "my_user" és "my_groups" headereket állítja be, és így minden működik
- # a My-User és My-Groups változók megfelelő kezelése a szolgaltatas1 feladata
- auth_request_set $dynamic1 $upstream_http_my_user;
- proxy_set_header My-User $dynamic1;
- auth_request_set $dynamic2 $upstream_http_my_groups;
- proxy_set_header My-Groups $dynamic2;
- proxy_pass http://127.0.0.1:YYY/;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement