Tengo algunos problemas con Nginx y Jenkins (Hudson). Estoy tratando de usar Nginx como proxy inverso para la instancia de Jenkins con autenticación básica HTTP.
Funciona hasta ahora, pero no tengo idea de cómo pasar el encabezado con el nombre de usuario de autenticación.
location / {
auth_basic "Restricted";
auth_basic_user_file /usr/share/nginx/.htpasswd;
sendfile off;
proxy_pass http://192.168.178.102:8080;
proxy_redirect default;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-User $http_authorization;
proxy_max_temp_file_size 0;
#this is the maximum upload size
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
ubuntu
nginx
http-basic-authentication
opHASnoNAME
fuente
fuente
Respuestas:
Intente agregar estas directivas a su bloque de ubicación
fuente
YXJuZTpraWxsZXI
decodifica aarne:killer
- buen ejemplo @opHASnoNAME :-)Para que esto funcione con el complemento de autenticación de proxy inverso Jenkins:
Si no restablece el
Authorization
encabezado, nginx lo reenviará de forma predeterminada, y cuando habilite el complemento de autenticación de proxy inverso, Jenkins (jetty) intentará volver a autenticar al usuario, y falla al hacerlo.nginx versión 1.12.1, Jenkins 2.113.
fuente