我在服务器上安装了jenkins,并希望通过nginx http auth保护它,以便请求:
http://my_domain.com:8080
http://ci.my_domain.com
除以下位置外,将受到保护:
http://ci.my_domain.com/job/my_job/build
需要触发构建。我对nginx有点陌生,所以我坚持使用nginx config。
upstream jenkins {
server 127.0.0.1:8080;
}
server {
listen x.x.x.x:8080;
server_name *.*;
location '/' {
proxy_pass http://jenkins;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
auth_basic "Restricted";
auth_basic_user_file /path/.htpasswd;
}
}
我尝试了类似上面的配置的smth,但是当我访问时http://my_domain.com:8080
没有http auth。
最后,我弄清楚了如何解决这个问题。首先,我们需要在“管理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 防火墙:
iptables -A INPUT -p tcp --dport 8080 -s localhost -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j DROP
但!在ubuntu(我不确定其他Linux操作系统)上,iptables在重启后会消失。因此,我们需要保存它们:
iptables-save
这还不是终点。使用此命令,我们只获得一个带有iptables的文件。在启动时,我们需要加载iptables,最简单的方法是使用“ uptables-
persistent”包:
sudo apt-get install iptables-persistent
iptables-save > /etc/iptables/rules
如果需要,请仔细查看iptables
https://help.ubuntu.com/community/IptablesHowTo#Saving_iptables,祝詹金斯好运!
在服务器的子域上运行jenkins就是一个很好的例子:https ://wiki.jenkins-
ci.org/display/JENKINS/Running+Hudson+behind+Nginx
我的应用程序由几个PHPendpoint组成,这些endpoint可以通过AJAX访问。问题是它们也可以通过向同一endpoint发出HTTP请求的任何人访问。我可以添加这个答案中指定的和的检查,但是这些检查可以被欺骗。我可以添加一个需要与请求一起发布的密钥,但是任何查看javascript和/或控制台的人都可以看到这个密钥。这里的解决方案是什么?
我的Java应用程序中有多个用户角色。下面是我的代码: 错误: 因此,所发生的情况是,它加载了用户数据的URL访问权限,但当执行最后一行时,它将/dashboard URL更改为具有ADMIN访问权限。我的角色仍然是数据角色,因此不能访问/dashboard URL。 最后一行似乎覆盖了其他行。再来看看URL特权,如果我删除“/dashboard”,那么当涉及到“/data”URL时,我会得到同样
问题内容: 有什么办法可以实现安全的FTP ? 如果没有,那么Java还有哪些其他选择? 问题答案: 您可以使用org.apache.commons.net.ftp。 FTPSClient, 而不是org.apache.commons.net.ftp。 FTPClient 具有安全的ftp http://commons.apache.org/proper/commons- net/apidocs/
我真的很纠结于PDFBOX的文档。对于这样一个受欢迎的图书馆来说,信息似乎有点稀薄(对我来说!)。 无论如何,Im的问题与保护PDF有关。目前我想要的只是控制用户的访问权限。具体地说,我想防止用户能够修改PDF。 如果我省略了访问权限代码,那么一切都可以正常工作。我正在阅读一个PDF从外部资源。然后我读取并填充字段,在保存新的PDF之前添加一些图像。一切正常。 当我添加这段代码时,所有的文本和图像
问题内容: 我正在尝试从Jekins服务器获取URL。直到最近,我仍然能够使用此页面上描述的模式(如何使用urllib2获取Internet资源)创建一个密码管理器,该密码管理器使用用户名和密码正确响应BasicAuth挑战。在Jenkins团队更改其安全模型之前,一切都还不错,并且该代码不再起作用。 堆栈跟踪: 问题似乎是Jenkins返回的不是预期的401代码,而是urllib2解释为对话结束