我们安装了一个jenkins服务,但是需要对外提供访问,处于安全考虑,我们需要再加一层nginx的http_auth认证来做双层密码,但是在实际操作中,我们发现,前端nginx做了http_auth认证后,就报401错误,无法登陆到后端jenkins。网上找了些答案,分析原因是:基本身份验证之后Nginx会另外将身份验证标头转发给Jenkins,这就是导致我的问题。 Jenkins收到转发的auth标头,然后认为它也需要自己授权。Nginx将提示basic_auth,在成功验证后,我们在转发到我们的反向代理时明确清除(重置)auth头。所以,我们只需要再代理的location里面加上如下即可:
proxy_set_header Authorization "";
转载请注明:IT运维空间 » linux » jenkins添加http_auth报401错误
发表评论