Ich habe einige Probleme mit Nginx und Jenkins (Hudson). Ich versuche, Nginx als Reverse Proxy für die Jenkins-Instanz mit HTTP Basic Authentication zu verwenden.
Bisher funktioniert es, aber ich habe keine Ahnung, wie der Header mit dem Authentifizierungs-Benutzernamen übergeben wird.
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
quelle
quelle
Antworten:
Versuchen Sie, diese Anweisungen zu Ihrem Standortblock hinzuzufügen
quelle
YXJuZTpraWxsZXI
decodiert zuarne:killer
- schönes Beispiel @opHASnoNAME :-)Damit dies mit dem Jenkins Reverse Proxy-Auth-Plugin funktioniert:
Wenn Sie den
Authorization
Header nicht zurücksetzen , leitet nginx diesen standardmäßig weiter. Wenn Sie das Reverse-Proxy-Authentifizierungs-Plugin aktivieren, versucht Jenkins (Jetty), den Benutzer erneut zu authentifizieren, und schlägt diesbezüglich fehl.Nginx Version 1.12.1, Jenkins 2.113.
quelle