티스토리 뷰
이전 포스트에서 정상적으로 업그레이드된 줄 알았으나 Git 관리자 페이지의 특정 기능들을 사용하려면 500 에러가 발생했다.
>> sudo docker logs gitlab -f
로그를 확인해보면 아래와 같은 OpenSSL 에러가 발생된걸 확인 할 수 있다.
OpenSSL::Cipher::CipherError ():
lib/gitlab/crypto_helper.rb:27:in `aes256_gcm_decrypt'
app/models/concerns/token_authenticatable_strategies/encrypted.rb:55:in `get_token'
app/models/concerns/token_authenticatable_strategies/base.rb:27:in `ensure_token'
app/models/concerns/token_authenticatable_strategies/encrypted.rb:42:in `ensure_token'
app/models/concerns/token_authenticatable.rb:38:in `block in add_authentication_token_field'
app/services/application_settings/update_service.rb:18:in `execute'
app/controllers/admin/application_settings_controller.rb:40:in `update'
lib/gitlab/i18n.rb:55:in `with_locale'
lib/gitlab/i18n.rb:61:in `with_user_locale'
app/controllers/application_controller.rb:420:in `set_locale'
lib/gitlab/middleware/multipart.rb:103:in `call'
lib/gitlab/request_profiler/middleware.rb:16:in `call'
...
...
찾아보니 마이그레이션, 혹은 백업 복구시 기존 SSL 관련된것들이 처리가 제대로 안된듯한 이슈로 보인다.
정확한것은 Gitlab 컨테이너의 상태 체크를 해보는것이 필요하다.
우선 Docker Container로 접속한다.
>> docker exec -it <gitlab-container-id> /bin/bash
아래의 명령어를 사용하여 secrets 인증 관련된 상태를 체크 한다.
>> gitlab-rake gitlab:doctor:secrets VERBOSE=1
벌써부터 보이는 빨간색 에러 항목들.
순차적으로 처리해보며 원하는 기능이 동작하는지 확인해봤다.
otp_secret Error
https://gitlab.com/gitlab-org/gitlab-foss/-/issues/1960
위의 해결방법을 참고하여 수정했다.
우선 gitlab-rails 명령어를 사용하여 모든 사용자들의 OTP 인증 기능을 OFF 했다. (어차피 내부망에서 사용하지 않는 기능)
>> gitlab-rails runner User.update_all(otp_required_for_login: false, encrypted_otp_secret: nil, encrypted_otp_secret_iv: nil, encrypted_otp_secret_salt: nil, otp_backup_codes: nil)
정상 수행 되면 아래의 명령어로 gitlab 재설정을 진행한다.
>> gitlab-ctl reconfigure
ApplicationSetting[1] : ci_jwt_signing_key, error_tracking_access_token
위의 에러는 Gitlab이 사용하는 PostgreSQL의 테이블들에 기록된 Token 값들을 삭제해주면 된다.
아래의 명령어를 사용하여 PostgreSQL 콘솔에 접속한다.
>> gitlab-psql
이제 특정 테이블의 runners_token 컬럼을 null 처리 해주는 작업을 진행한다.
Update projects Set runners_token = null, runners_token_encrypted = null;
Update namespaces Set runners_token = null, runners_token_encrypted = null;
Update application_settings Set runners_registration_token_encrypted = null;
Update ci_runners Set token = null, token_encrypted = null;
필자는 이 단계 까지 진행한뒤 관리자 페이지에서 문제가 되었던 WebHook 기능을 설정하려고 하니 정상 동작하였다.
'Docker' 카테고리의 다른 글
[Docker] Gitlab CE 업그레이드 하기 (14 ver later) 2탄 (0) | 2024.08.20 |
---|---|
[Docker] Gitlab CE 업그레이드 하기 (12.2.5 ver) 1탄 (0) | 2024.08.20 |
[Docker] Desktop - WSL update failed 에러 해결 (win11) (0) | 2024.07.09 |
[Docker] Gitlab CE 백업/복구 하기 (0) | 2019.09.22 |
[Docker] Gitlab CE 설치하기 (0) | 2019.09.21 |
- Total
- Today
- Yesterday
- 구글 클라우드 플랫폼
- OSI 7Layer
- 데스큐어
- 다클 빈
- 대항해시대 넷마블 런처
- React.js
- JNI 시그니처
- 위대한 쇼맨 ost
- 정처기 실기
- HTTPie
- 대항해시대
- EACCES: permission denied
- 대항해시대 다음 런처
- 정보처리기사 2018 2회
- Linux
- vite.js
- 대항해시대 런처
- 위대한 쇼맨 후기
- 대항해시대 로그인
- 합격 후기
- JNI
- 위대한 쇼맨
- JNI INVOKE
- 폴더선택다이얼로그
- 대항해시대 다클
- 다클 코드
- 빈파일
- JNI SIGNITURE
- lxd
- 정보처리기사 실기 후기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |