我正在尝试设置jenkins,但我无法让身份验证工作。我在CentOS 6.2上运行Tomcat6上的jenkins。我启用了登录,一切正常,直到我尝试登录。在提供我的凭证并按下登录后,tomcat给了我一个错误:
“HTTP状态404 - 请求的资源()不可用。”在http://myserver:8080/jenkins/j_acegi_security_check
通过谷歌搜索我可以找到这个: https://issues.jenkins-ci.org/browse/JENKINS-3761
我发现了两个建议的修复:
我能做些什么来使这项工作?
答案 0 :(得分:105)
答案 1 :(得分:19)
您可能忘记选择下面指定的安全领域
https://wiki.jenkins-ci.org/display/JENKINS/Standard+Security+Setup
如果您已将自己锁定,可以按照此处的说明还原Jenkins config.xml文件,将<useSecurity>true</useSecurity>
节点值设置为false
https://wiki.jenkins-ci.org/display/JENKINS/Disable+security
答案 2 :(得分:8)
正如the bug page所述:
错误是由代理传递规则
"/jenkins http://localhost:9080/jenkins/"
引起的,这导致了(jenkins)请求"/jenkins//j_acegi_security_check"
(双//)。因此登录页面被404拒绝(而所有其他页面都被拒绝)。
确保您的/jenkins
ProxyPass不以目标网址中的尾部斜杠结尾。
答案 3 :(得分:0)
我在Ubuntu以及AIX上遇到了同样的问题,我迫切需要它在生产环境中工作。我甚至尝试过Tomcat和Apache Web服务器,但问题仍然存在。
最后按如下方式更改类加载器使其在独立模式下工作:
java -jar jenkins.war --httpPort=79802 --preferredClassLoader=java.net.URLClassLoader &
顺便说一句,这是Ubuntu的标准Jenkins发行版中的默认设置,从中我得到了线索。
问题可能与包装有关,但目前这种解决方案有效。检查这是否可以解决类似的问题。
答案 4 :(得分:0)
我在&#34; / jenkins / j_acegi_security_check&#34;上有相同的HTTP 404。 URI问题。
与上面pga指出的问题相同:Tomcat是以root用户身份启动的。
这是因为我通过在&#34; /etc/init.d /&#34;创建启动tomcat脚本来设置tomcat自动重启。
解决了以下问题:
su - tomcatuser - c /cde/pkgs/../tomcat/start.sh
答案 5 :(得分:0)
我在“/ jenkins / j_acegi_security_check”页面上遇到了与404相同的问题。
使用Jenkins和Tomcat,经过大量尝试解决后,我开始使用以下解决方案 - 我使用18080作为默认端口而没有SSL重定向。 它与重定向有关,但在这种情况下(如使用Tomcat),必须在tomcat-server-configuration中进行更改:
在 /conf/server.xml 中查找以下条目:
<Connector port="18080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
只是评论 redirectPort 对我有帮助:
<Connector port="18080" protocol="HTTP/1.1"
connectionTimeout="20000" />
答案 6 :(得分:0)
我加了书签的詹金斯登录网址是:https://jenkins.foo.com/login?from=%2F
如果安全性被禁用,并且您使用任何凭据或空白凭据访问该URL,则会引发j_acegi错误。
相反,请使用https://jenkins.foo.com/,它将带您直接进入仪表板。
答案 7 :(得分:-1)
我在“/ jenkins / j_acegi_security_check”URI上使用了相同的HTTP 404。
在我的情况下,Jenkins运行在用户'root'启动的Tomcat上。停止了Tomcat,并由适当的单独应用程序用户再次启动它。问题解决了。
答案 8 :(得分:-1)
看到投票结果:我在新服务器上再次执行了这些步骤。 有**字符,我删除了
像这个$ TOMCAT_VERSION
这样的tomcat缺少$符号如下所示禁用安全性:
http://markunsworth.com/2012/02/13/locked-yourself-out-of-jenkins/
无法登录jenkins,也无法禁用登录选项 要么 在Tomcat上使用Jenkins登录时锁定。
http://xx.xxx.xxx.xxx:8080/jenkins/login?from=/jenkins/
并且在填写未完全设置的userId密码后,将始终显示此页面
http://xx.xxx.xxx.xxx:8080/jenkins/j_acegi_security_check
HTTP状态404 - 说明请求的资源不可用。
我在tomcat中安装了.war文件 我花了很长时间才解决这个问题。 我有很多次完全删除了Tomcat,Jenkins所有文件夹.jenkins等重新安装,什么不是......
再次彻底删除Tomcat和Jenkins ......
解决方案是正确使用用户和组,让我们通过逐个运行以下命令来了解如何操作。
您使用sudo权限登录用户(例如.vimal)。
vimal@h123:~$ sudo apt-get update
vimal@h123:~$ BASE_USER=vimal
vimal@h123:~$ sudo chown -Rf $BASE_USER:$BASE_USER /opt/
vimal@h123:~$ USER=apache-tomcat
vimal@h123:~$ GROUP=myjenkins
vimal@h123:~$ TOMCAT_INSTALL_DIR=/opt
vimal@h123:~$ TOMCAT_VERSION=apache-tomcat-8.0.23
vimal@h123:~$ TOMCAT_URL=http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.23/bin/apache-tomcat-8.0.23.zip
对于TOMCAT_URL,从tomcat下载站点的archive / src(.zip)中复制所需的链接
vimal@h123:~$ mkdir -p $TOMCAT_INSTALL_DIR
vimal@h123:~$ cd $TOMCAT_INSTALL_DIR
vimal@h123:~$ wget $TOMCAT_URL
vimal@h123:~$ unzip -q $TOMCAT_VERSION.zip
vimal@h123:~$ rm $TOMCAT_VERSION.zip
在运行下面的命令之前,你需要设置JAVA_HOME,如JAVA_HOME =&#34; / usr / lib / jvm / java-8-oracle /&#34;将此添加到 sudo nano / etc / environment
vimal@h123:~$ sudo chmod +x $TOMCAT_INSTALL_DIR/$TOMCAT_VERSION/bin/*.sh
vimal@h123:~$ $TOMCAT_INSTALL_DIR/$TOMCAT_VERSION/bin/catalina.sh start
vimal@h123:~$
vimal@h123:~$ cd $TOMCAT_INSTALL_DIR/$TOMCAT_VERSION/webapps/
vimal@h123:~$ wget http://mirrors.jenkins-ci.org/war-stable/latest/jenkins.war
等待几分钟,直到詹金斯满载。需要2GB内存。 尝试访问http://xx.xxx.xxx.xxx:8080/jenkins/上的浏览器,它将有效...
有一天我找到了解决方案。
答案 9 :(得分:-1)
以下是我解决此问题的方法:
# service tomcat status
tomcat start/running, process 996
# service tomcat stop
tomcat stop/waiting
# service jenkins status
Jenkins Continuous Integration Server is not running
# service jenkins restart
* Restarting Jenkins Continuous Integration Server jenkins [ OK ]
# service tomcat start
tomcat start/running, process 3839
# service jenkins status
Jenkins Continuous Integration Server is running with the pid 3694
刷新浏览器,Jenkins应该正常运行。 希望这有帮助!