Nginx как балансировщик нагрузки для приложения, использующего Kerberos - PullRequest
0 голосов
/ 05 июля 2018

В настоящее время я использую nginx в качестве балансировщика нагрузки для приложения tomcat, расположенного на двух разных серверах. Это приложение использует NTLM для аутентификации, и nginx работает отлично (действительные пользователи автоматически входят в систему при вызове адреса nginx).

Теперь я хотел бы сделать то же самое для приложения, которое использует Kerberos для проверки подлинности Windows. Я тестирую nginx с той же конфигурацией (разные приложения / IP-адреса, конечно), но вход в систему не работает. Я должен войти в систему автоматически с помощью Kerberos, но вместо этого запрашивается имя пользователя и пароль сервера, на котором работает nginx:

«Требуется аутентификация»

Что мне нужно изменить в моей конфигурации nginx? Или это не проблема конфигурации?

        worker_processes  1;
        events {
            worker_connections  1024;
        }


        http {
            include       mime.types;
            default_type  application/octet-stream;

            proxy_cache_path /Temp/NGINX_cache/ keys_zone=backcache:10m;

            sendfile        on;
            keepalive_timeout  65;


            upstream myapp {

                hash $remote_addr consistent;

                # List of myapp application servers
                server 10.54.76.7:8080;
                server 10.54.73.8:8080;


            }



            server {
                listen       80;
                server_name  localhost;



                location /myapp/ {
                    proxy_pass http://myapp;
                    proxy_set_header Host            $host;
                    proxy_set_header X-Forwarded-For $remote_addr;

                }


                # Return a temporary redirect to the /tomcat-app/ directory
                # when user requests '/'
                location = / {
                    return 302 /myapp/;
                }



                # redirect server error pages to the static page /50x.html

                error_page   500 502 503 504  /50x.html;
                location = /50x.html {
                    root   html;
                }



                proxy_read_timeout 900s;
                client_max_body_size 5000M;
            }
        }

С уважением

Alex

1 Ответ

0 голосов
/ 05 июля 2018

Ваша установка Nginx должна быть собрана с модулем auth_pam , который не является частью стандартной сборки.

Если выполнение nginx -V 2>&1 | grep -o auth-pam возвращает что-то, то вам повезло, в противном случае вам придется пересобрать и добавить модуль самостоятельно

...