Jenkins - j_acegi_security_check

I am trying to setup jenkins, but I cant get the authentication to work. I am running jenkins on Tomcat6 on CentOS 6.2. I enable logging in, and everything goes fine until I try to log in. After giving my credential and pressing login, tomcat gives me a error: "HTTP Status 404 - The requested resource () is not available." on http://myserver:8080/jenkins/j_acegi_security_check

By googling I can find this:

Two suggested fixes I have found:

  • Run jenkins on tomcat instead of running the standalone version - I am already doing so.
  • Edit a file: WEB-INF/security/SecurityFilters.groovy - I tried to edit, but I can't get it to change anything

Is there something I could do to make this work?


Spent ages wrestling with this one, make sure a Security Realm is set when you are choosing your Authorization method in Jenkins.

That is, in Manage Jenkins → Configure Global Security select an option in the Security Realm list.

For example:

You may have forgotten to select a Security Realm as specified below

In case you have locked yourself out, you can revert the Jenkins config.xml file to set <useSecurity>true</useSecurity> node value to false by following instructions here

As mentioned on the bug page:

The error was caused by a proxy pass rule "/jenkins http://localhost:9080/jenkins/" which led to the incomming (jenkins) request "/jenkins//j_acegi_security_check" (double //). So the login page was rejected with 404 (while all other pages where served).

Make sure your /jenkins ProxyPass does not end with a trailing slash in the destination URL.

I had the same problem with 404 on the "/jenkins/j_acegi_security_check" page.

Using Jenkins with Tomcat, after a lot of tries to solve it, I came to following solution - I´m using 18080 as default port without SSL-redirection. It´s related to the redirection, but in that case (as using Tomcat) it has to be changed in the tomcat-server-configuration:

Look in /conf/server.xml for the following entry:

<Connector port="18080" protocol="HTTP/1.1"
    redirectPort="8443" /> 

Just commenting out the redirectPort helped for me:

<Connector port="18080" protocol="HTTP/1.1"
    connectionTimeout="20000" />

I had the same HTTP 404 on the "/jenkins/j_acegi_security_check" URI problem .

And the same issue as pointed out by pga above: Tomcat was being started as user root.

This was because I had setup tomcat to restart automatically by creating a startup tomcat script at "/etc/init.d/".

Fixed the issue with:

su - tomcatuser - c /cde/pkgs/../tomcat/

I was facing the same issue on Ubuntu as well as on AIX, where I desperately needed it to work in production settings. I even tried Tomcat and Apache web servers, still the same issue.

Finally changing the class loader as follows made it work in stand-alone mode:

java -jar jenkins.war --httpPort=79802 & 

By the way, this is default settings in standard Jenkins distribution for Ubuntu, from where I got the clue.

Probably the issue is related with packaging, but for now this solution works. Check if this resolves similar issues.

I had the same HTTP 404 on the "/jenkins/j_acegi_security_check" URI.

In my case, Jenkins was running on a Tomcat started by user 'root'. Stopped Tomcat, and started it again by the proper separate application user. Problem solved.

Seeing vote down: I did the steps again on fresh server. There were ** characters and I removed that

There were missing $sign for tomcat like this $TOMCAT_VERSION

(Both corrected and it is working) (updated on 28.03.2016)

Disable the security as given below:

Unable to login jenkins, and can't disable login option either Or Locked in login with Jenkins on Tomcat. and after filling the userId Password, which was not set up at all, will always take to this page

HTTP Status 404 - description The requested resource is not available.

I had .war file installed in tomcat It took me long to fix this issue. I had many times completely removed Tomcat, Jenkins all folders .jenkins etc reinstalled and what not...

Remove both Tomcat and Jenkins completely once again...

The solution is proper use of user and group, let us see how to it by running the following commands one by one.

You are logged in with user(e.g. vimal) with sudo permission.

 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=

For TOMCAT_URL, copy the link that you need from archive/src (.zip) of tomcat download site

vimal@h123:~$ mkdir -p $TOMCAT_INSTALL_DIR
vimal@h123:~$ cd $TOMCAT_INSTALL_DIR
vimal@h123:~$ wget $TOMCAT_URL
vimal@h123:~$ unzip -q $
vimal@h123:~$ rm $

Before running command below you need to have JAVA_HOME set up in like JAVA_HOME="/usr/lib/jvm/java-8-oracle/" by adding this into sudo nano /etc/environment

vimal@h123:~$ sudo chmod +x  $TOMCAT_INSTALL_DIR/$TOMCAT_VERSION/bin/*.sh
vimal@h123:~$ $TOMCAT_INSTALL_DIR/$TOMCAT_VERSION/bin/ start
vimal@h123:~$ cd $TOMCAT_INSTALL_DIR/$TOMCAT_VERSION/webapps/
vimal@h123:~$ wget

Wait for a couple of minutes till Jenkins is fully loaded. Needs 2GB memory. Try going to the browser on and it will work...

Took me one day to find the solution.

Here is how I resolved this issue:

# 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

Refresh your browser and Jenkins should be up and running. Hope this helps!

Need Your Help

Pinning a Java executable (with launch4j) to the Windows 7 taskbar

java windows-7 jna taskbar launch4j

After spending half a day searching and trying, I'm finally giving up.

Installing Git in PATH with GitHub client for Windows

git github github-for-windows

How do I install Git in my PATH when using the GitHub client for Windows?