代理 – 使用nginx http auth保护Jenkins,但回调网址除外
我在我的服务器上安装了jenkins,我想用nginx http auth保护它,以便请求:
除一个地点外,将受到保护:
需要触发构建.我是nginx的新手,所以我坚持使用nginx配置.
我尝试了像上面配置的smth,但当我访问http://my_domain.com:8080时,没有http auth. 最后我想出了如何解决这个问题.首先,我们需要在Manage Jenkins页面取消选中“启用安全性”选项.禁用安全性后,我们可以通过http://ci.your_domain.com/job/job_name/build等请求触发我们的工作.
如果要添加令牌以触发URL,我们需要启用安全性,选择“基于项目的矩阵授权策略”并为匿名用户授予管理员权限.在项目的配置页面中,它将是“远程触发构建”选项,您可以在其中指定令牌,以便您的请求看起来像JENKINS_URL / job / onru / build?token = TOKEN_NAME 因此,对于禁用的安全性,我们需要使用nginx http_auth保护http://ci.your_domain.com,除了像/ job / job_name / build’这样的网址. 当然,我们需要从外部请求中隐藏8080端口.由于我的服务器在Ubuntu上,我可以使用iptables防火墙:
但!在ubuntu上(我不确定其他linux ose)iptables在重启后会消失.所以我们需要保存它们:
这不是结束.使用此命令,我们只需使用iptables获取文件.在启动时我们需要加载iptables,最简单的方法是使用’uptables-persistent’包:
如果需要,可以仔细查看iptables https://help.ubuntu.com/community/IptablesHowTo#Saving_iptables并祝jenkins好运! 并且有一个很好的例子可以在服务器的子域上运行jenkins:https://wiki.jenkins-ci.org/display/JENKINS/Running+Hudson+behind+Nginx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |