Подтвердить что ты не робот

Дженкинс - j_acegi_security_check

Я пытаюсь настроить jenkins, но я не могу заставить аутентификацию работать. Я запускаю jenkins на Tomcat6 на CentOS 6.2. Я разрешаю вход в систему, и все идет нормально, пока я не попытаюсь войти в систему. После предоставления моих учетных данных и нажатия логина tomcat дает мне ошибку:

"Статус HTTP 404 - запрошенный ресурс() недоступен". на http://myserver:8080/jenkins/j_acegi_security_check

По googling я могу найти это: https://issues.jenkins-ci.org/browse/JENKINS-3761

Две предложенные исправления, которые я нашел:

  • Запустите jenkins на tomcat вместо запуска автономной версии - I Я уже делаю это.
  • Редактирование файла: WEB-INF/security/SecurityFilters.groovy - я попытался редактирование, но я не могу заставить его что-либо изменить

Есть ли что-то, что я мог бы сделать, чтобы сделать эту работу?

4b9b3361

Ответ 1

С этим боролись целую вечность, убедитесь, что Security Realm установлен, когда вы выбираете метод авторизации в Jenkins.

То есть в разделе "Управление Jenkins" → "Настроить глобальную безопасность" выберите параметр в списке "Область безопасности".

Например:

enter image description here

Ответ 2

Возможно, вы забыли выбрать область безопасности, как указано ниже

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

Ответ 3

Как упоминалось на странице с ошибкой:

Ошибка была вызвана правилом пропуска прокси "/jenkins http://localhost:9080/jenkins/", который привел к запросу incomming (jenkins) "/jenkins//j_acegi_security_check" (double//). Таким образом, страница входа в систему была отклонена с помощью 404 (в то время как все остальные страницы, где она была).

Убедитесь, что ваш /jenkins ProxyPass не заканчивается конечной косой чертой в целевом URL.

Ответ 4

Я столкнулся с той же проблемой на Ubuntu, а также на AIX, где я отчаянно нуждался в ней для работы в производственных настройках. Я даже пробовал веб-серверы Tomcat и Apache, все еще та же проблема.

Наконец, заменив загрузчик классов следующим образом, он работал в автономном режиме:

java -jar jenkins.war --httpPort=79802 --preferredClassLoader=java.net.URLClassLoader & 

Кстати, это настройки по умолчанию в стандартном дистрибутиве Jenkins для Ubuntu, откуда я получил ключ.

Вероятно, проблема связана с упаковкой, но на данный момент это решение работает. Проверьте, устраняют ли подобные проблемы.

Ответ 5

У меня был тот же HTTP 404, что и проблема URI "/jenkins/j_acegi_security_check".

И та же проблема, что указана pga выше: Tomcat запускался как пользовательский root.

Это было связано с тем, что у меня была настройка tomcat для автоматического перезапуска, создав стартап tomcat script на "/etc/init.d/".

Исправлена ​​ошибка:

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

Ответ 6

У меня была та же проблема с 404 на странице "/jenkins/j_acegi_security_check".

Используя Jenkins с Tomcat, после многих попыток решить эту проблему, я пришел к следующему решению: я использую 18080 как порт по умолчанию без перенаправления SSL. Это связано с перенаправлением, но в этом случае (используя Tomcat) его необходимо изменить в конфигурации tomcat-server:

Посмотрите /conf/server.xml для следующей записи:

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

Просто комментируя redirectPort, я помог мне:

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

Ответ 7

URL моей закладки для входа в jenkins был: https://jenkins.foo.com/login?from=%2F

Если защита отключена, и вы нажали на этот URL-адрес с какими-либо учетными данными или пустыми, это вызовет ошибку j_acegi.

Вместо этого используйте https://jenkins.foo.com/, и вы попадете прямо на панель инструментов.

Ответ 8

У меня был тот же HTTP 404, что и в URI "/jenkins/j_acegi_security_check".

В моем случае Дженкинс работал на Tomcat, запущенном пользователем "root". Остановил Tomcat и снова начал его с помощью отдельного пользователя приложения. Проблема решена.

Ответ 9

Увидев проголосовать, я снова сделал шаги на новом сервере. Было ** символов, и я удалил это.

Отсутствует знак $для tomcat, такой как $TOMCAT_VERSION

(Оба исправлены и работают) (обновлено 28.03.2016)

Отключите защиту, как указано ниже:

http://markunsworth.com/2012/02/13/locked-yourself-out-of-jenkins/

Невозможно войти в систему jenkins и не может отключить параметр входа Или Заблокирован при входе в систему с Дженкинсом на Tomcat.

http://xx.xxx.xxx.xxx:8080/jenkins/login?from=/jenkins/ и после заполнения пользовательского пароля, который не был настроен вообще, всегда будет отображаться на этой странице

http://xx.xxx.xxx.xxx:8080/jenkins/j_acegi_security_check

Статус HTTP 404 - описание Запрошенный ресурс недоступен.

У меня был файл .war, установленный в tomcat Мне потребовалось много времени, чтобы исправить эту проблему. У меня было много раз полностью удалено Tomcat, Дженкинс все папки .jenkins и т.д. Переустановлены, а что нет...

Снова удалите обоих Tomcat и Jenkins...

Решение - это правильное использование пользователя и группы, давайте посмотрим, как это сделать, выполнив следующие команды один за другим.

Вы вошли в систему с пользователем (например, vimal) с разрешением sudo.

 [email protected]:~$ sudo apt-get update
 [email protected]:~$ BASE_USER=vimal
 [email protected]:~$ sudo chown -Rf $BASE_USER:$BASE_USER /opt/

 [email protected]:~$ USER=apache-tomcat
 [email protected]:~$ GROUP=myjenkins
 [email protected]:~$ TOMCAT_INSTALL_DIR=/opt
 [email protected]:~$ TOMCAT_VERSION=apache-tomcat-8.0.23
 [email protected]:~$ TOMCAT_URL=http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.23/bin/apache-tomcat-8.0.23.zip

Для TOMCAT_URL скопируйте нужную ссылку из архива /src (.zip) сайта загрузки tomcat.

[email protected]:~$ mkdir -p $TOMCAT_INSTALL_DIR
[email protected]:~$ cd $TOMCAT_INSTALL_DIR
[email protected]:~$ wget $TOMCAT_URL
[email protected]:~$ unzip -q $TOMCAT_VERSION.zip
[email protected]:~$ rm $TOMCAT_VERSION.zip

Перед запуском команды ниже вам нужно настроить JAVA_HOME как JAVA_HOME = "/usr/lib/jvm/java-8-oracle/", добавив это в    sudo nano/etc/environment

[email protected]:~$ sudo chmod +x  $TOMCAT_INSTALL_DIR/$TOMCAT_VERSION/bin/*.sh
[email protected]:~$ $TOMCAT_INSTALL_DIR/$TOMCAT_VERSION/bin/catalina.sh start
[email protected]:~$
[email protected]:~$ cd $TOMCAT_INSTALL_DIR/$TOMCAT_VERSION/webapps/
[email protected]:~$ wget http://mirrors.jenkins-ci.org/war-stable/latest/jenkins.war

Подождите пару минут, пока Дженкинс не будет полностью загружен. Требуется память 2 ГБ. Попробуйте перейти в браузер http://xx.xxx.xxx.xxx:8080/jenkins/, и он будет работать...

Пришел один день, чтобы найти решение.

Ответ 10

Вот как я решил эту проблему:

# 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 должен быть запущен. Надеюсь, это поможет!