Nginx 作为使用 Kerberos 的应用程序的负载平衡器
Nginx as load balancer for application using Kerberos
我目前正在使用 nginx 作为位于两个不同服务器上的 tomcat 应用程序的负载平衡器。该应用程序使用 NTLM 进行身份验证,nginx 工作正常(有效用户在调用 nginx 地址时自动登录)。
现在我想对使用 Kerberos 进行 windows 身份验证的应用程序执行相同的操作。我正在使用相同的配置测试 nginx(当然 app/IPs 不同),但登录不起作用。我应该使用 kerberos 自动登录,但是服务器 nginx 的用户名和密码是 运行 在请求时说:
"Authentication required"
我的 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;
}
}
亲切的问候
亚历克斯
您的 Nginx 安装需要使用 auth_pam 模块构建,这不是标准构建的一部分。
如果 运行 nginx -V 2>&1 | grep -o auth-pam
returns 那么你很幸运,否则你将不得不自己重建并添加模块
我目前正在使用 nginx 作为位于两个不同服务器上的 tomcat 应用程序的负载平衡器。该应用程序使用 NTLM 进行身份验证,nginx 工作正常(有效用户在调用 nginx 地址时自动登录)。
现在我想对使用 Kerberos 进行 windows 身份验证的应用程序执行相同的操作。我正在使用相同的配置测试 nginx(当然 app/IPs 不同),但登录不起作用。我应该使用 kerberos 自动登录,但是服务器 nginx 的用户名和密码是 运行 在请求时说:
"Authentication required"
我的 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;
}
}
亲切的问候
亚历克斯
您的 Nginx 安装需要使用 auth_pam 模块构建,这不是标准构建的一部分。
如果 运行 nginx -V 2>&1 | grep -o auth-pam
returns 那么你很幸运,否则你将不得不自己重建并添加模块