2016-09-26 7 views
0

Я настраиваю GitLab Enterprise Edition для своей организации. Мы используем AWS EFS для хранения данных репо и двух экземпляров для обслуживания трафика SSH и HTTP/HTTPS через AWS ELB. Объём EFS разделяется между обоими экземплярами. Но когда я посещаю домашнюю страницу проекта после перезагрузки службы, мы видим 500 страниц ошибок. Мы попробовали запустить gitlab-ctl reconfigure && gitlab-ctl restart, но не помогли.Ошибка GitLab 500 при посещении проекта Страница

  1. GitLab EE версия - 8.12.1-е-е
  2. 2 * Centos 7 (AWS EC2 Instance - m4.xlarge)
  3. AWS ELB для балансировки нагрузки SSH и HTTP/HTTPS трафик

Ошибка в логах

 ==> /var/log/gitlab/gitlab-rails/production.log <== 
Started GET "/itops/docker" for 10.0.4.246 at 2016-09-26 07:58:58 +0000 
Processing by ProjectsController#show as HTML 
    Parameters: {"namespace_id"=>"itops", "id"=>"docker"} 
Completed 500 Internal Server Error in 145ms (ActiveRecord: 14.2ms) 

OpenSSL::Cipher::CipherError (bad decrypt): 
    app/models/project.rb:531:in `import_url' 
    app/models/project.rb:567:in `external_import?' 
    app/models/project.rb:559:in `import?' 
    app/models/project.rb:575:in `import_in_progress?' 
    app/controllers/projects_controller.rb:95:in `show' 
    lib/gitlab/request_profiler/middleware.rb:15:in `call' 
    lib/gitlab/middleware/go.rb:16:in `call' 
    lib/gitlab/middleware/readonly_geo.rb:29:in `call' 


    ==> /var/log/gitlab/gitlab-rails/production.log <== 
Started GET "/itops/docker/refs/master/logs_tree/?offset=50&_=1474877373459" for 10.0.9.106 at 2016-09-26 08:09:40 +0000 
Processing by Projects::RefsController#logs_tree as JS 
    Parameters: {"offset"=>"50", "_"=>"1474877373459", "namespace_id"=>"itops", "project_id"=>"docker", "id"=>"master"} 
Started GET "/itops/docker/commits/master" for 10.0.4.246 at 2016-09-26 08:09:40 +0000 
Processing by Projects::CommitsController#show as HTML 
    Parameters: {"namespace_id"=>"itops", "project_id"=>"docker", "id"=>"master"} 
Completed 500 Internal Server Error in 176ms (ActiveRecord: 16.8ms) 

ActionView::Template::Error (bad decrypt): 
    1: - if @project.mirror? 
    2: .prepend-top-default.gray-content-block.second-block.clearfix 
    3:  - import_url = @project.safe_import_url 
    4:  .oneline.project-mirror-text 
    5:  This project is mirrored from #{link_to import_url, import_url}. 
    6: 
    app/models/project.rb:531:in `import_url' 
    app/models/project.rb:587:in `safe_import_url' 
    app/views/projects/commits/_mirror_status.html.haml:3:in `_app_views_projects_commits__mirror_status_html_haml___2300853211630423479_63495260' 
    app/views/projects/commits/show.html.haml:35:in `_app_views_projects_commits_show_html_haml___2695203885719227520_58528080' 
    app/controllers/projects/commits_controller.rb:27:in `show' 
    lib/gitlab/request_profiler/middleware.rb:15:in `call' 
    lib/gitlab/middleware/go.rb:16:in `call' 
    lib/gitlab/middleware/readonly_geo.rb:29:in `call' 

Я импортировал проект докер из GitHub. Все остальные страницы работают нормально (дерево/мастер, активность, график, конвейер, проблемы) только домашняя страница проекта, а файл docker/commits/master показывает ошибку.

+0

звучит как вопрос общего состояния здоровья AWS/сетевой связи. –

+0

500 erros - это приложение GitLab. Все случаи здоровы и инсервированы. – Nischay

+0

Если это омнибус gitlab, используйте этот диагностический инструмент для вывода соответствующих проблем: 'sudo gitlab-rake gitlab: проверьте SANITIZE = true', он может сказать вам, что не так –

ответ

1

Вы перешли с другого сервера?

Если это так, возможно, ваш предыдущий файл /etc/gitlab/gitlab-secrets.json содержит ключи шифрования, которых нет в вашей новой установке.

Копирование по старым gitlab-secrets.json на /etc/gitlab на ваш новый сервер (после создания резервной копии вашей новой версии, конечно, если вам нужно откат), это должно исправить.

0

В моем случае одно и то же исключение было подсчитано при создании хранилища путем импорта из другого. После закрытия сервера проекта-донора я поймаю 500 ошибок. Исключение должно быть import_url недоступно, а не ssl-ошибка. Моя резолюция очистить неработающую ссылку из базы данных:

update projects set import_url=NULL where id = MY-PROJECT_ID;