Nginx反向代理在Jenkins中导致500内部服务器错误

时间:2017-06-04 02:45:48

标签: authentication nginx jenkins

我有一个公众面对jenkins,我想用nginx / fail2ban保护。 nginx反向代理很有效,直到我在nginx中打开基本身份验证。当我激活nginx基本身份验证时,jenkins会出现500内部服务器错误。

nginx config:

    location /jenkins/ {
            auth_basic "Development";
            auth_basic_user_file /etc/nginx/.htpasswd;

            rewrite ^/jenkins(/.*)$ $1 break;
            proxy_pass http://127.0.0.1:8080$request_uri;
            proxy_set_header Host $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-Proto $scheme;
            proxy_set_header X-Forwarded-User $remote_user;
            proxy_redirect http://127.0.0.1:8080 $scheme://xxxxx.com.au;
    }

nginx访问日志:

XXX.XX.XX.XXX - mark [04/Jun/2017:12:01:35 +1000] "GET /jenkins/login?from=%2Fjenkins%2F HTTP/1.1" 500 595 "https://xxxxx.com.au/jenkins/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36" "-"

一些值得注意的位:

  • 如果我注释掉nginx配置代理中的auth_basic条目 使用jenkins local auth工作正常。
  • 即使我提高了调试级别,jenkins日志也没有任何内容 到了9.
  • 如果我对nginx进行授权,然后关闭基本身份验证 一切都很好。这是X-Forwarded-User标题继续 要设置(尽管auth已关闭)并转发给jenkins 它正确地验证了它的本地数据库。
  • 我尝试了反向代理Auth插件,似乎没有 任何差异。

0 个答案:

没有答案