티스토리 뷰
[Blockchain 네트워크 구성] Hyperledger Fabric v1.4: CouchDB admin 계정 로그인 오류 해결 방법
miiingo 2019. 12. 10. 10:46오류 확인
Fabric peer의 database로 couchdb를 사용하고 있는데, 갑자기 couchdb UI 화면에서 로그인을 하라는 창이 나오기 시작했다.
(couchdb 웹 페이지 : http://localhost:5984/_utils)
couchdb 컨테이너를 실행할 때, CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME과 CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD 환경변수를 공백으로 넣고 실행하기 때문에 항상 Admin Party 모드로 작동해야 하는데 이 설정에 문제가 생긴 것 같다.
Admin Party 모드로 작동하지 않아 체인코드 내에서 couchdb 쿼리를 해올 때 오류가 발생한다.
모든 couchdb 컨테이너가 이런 로그인 화면이 뜨는 것은 아니고, 몇 개의 컨테이너에서만 오류가 발생했다.
원인 파악
couchdb UI 화면에서 Create Admin 메뉴를 통해 admin 계정을 생성하게 되면, 그에 따라 로그인 화면이 나오게 된다.
네트워크 사용자들 중 누군가가 이 화면에 접근해 admin 계정을 생성한 것 같다.
아니면 누군지 모를 해커에 의해 공격을 당했다던가...
아무튼 내가 모르는 admin 계정이 생겼기 때문에 이를 해결해야 한다.
오류 해결
이럴 경우, couchdb 컨테이너 내의 .ini 파일을 수정해 원래대로 Admin Party 모드로 작동하도록 만들어주어야 한다.
우선 해당 오류가 발생하는 couchdb 컨테이너 내에 접속을 한다
#couchdb 컨테이너 접속
docker container exec -it couchdb0 bash
local.ini 파일 수정
/opt/couchdb/etc/local.ini 파일에 대한 수정이 필요하다.
# local.ini 파일 수정 (couchdb 컨테이너 내에서 실행)
cd /opt/couchdb/etc
vi local.ini
[admins] 항목에 주석(;으로 시작하는 줄)을 제외하고, 다른 내용이 존재한다면 해당 내용을 지워준다.
...
; To create an admin account uncomment the '[admins]' section below and add a
; line in the format 'username = password'. When you next start CouchDB, it
; will change the password to a hash (so that your passwords don't linger
; around in plain-text files). You can add more admin accounts with more
; 'username = password' lines. Don't forget to restart CouchDB after
; changing this.
[admins]
;admin = mysecretpassword
만약, vi 명령어를 찾을 수 없다는 오류가 발생할 경우 'apt-get update' 명령을 실행하면 vi 편집기 사용이 가능해진다.
# vi 편집기 사용을 위한 패키지 업데이트 (couchdb 컨테이너 내에서 실행)
apt-get update
# vi 편집기 설치 (couchdb 컨테이너 내에서 실행)
apt-get install vim
docker.ini 파일 수정
couchdb를 Docker 컨테이너로 실행했기 때문에 /opt/couchdb/etc/local.d/docker.ini 파일도 수정이 필요하다.
# docker.ini 파일 수정 (couchdb 컨테이너 내에서 실행)
cd /opt/couchdb/etc/local.d
vi docker.ini
[admins] 항목의 내용을 모두 지우고 [couchdb] 항목만 남긴 상태로 저장한다.
[couchdb]
uuid = ba090a3e45aab943bed94364b7e1b731
couchdb 컨테이너 재시작
수정한 내용을 적용하기 위해 couchdb 컨테이너를 재시작한다.
# couchdb 컨테이너 재시작
docker container restart couchdb0
이제 couchdb 웹 페이지(http://localhost:5984/_utils)에 다시 접속하면 로그인 화면이 사라진 것을 확인할 수 있다.
'Blockchain > Blockchain 네트워크 구성' 카테고리의 다른 글
- Total
- Today
- Yesterday
- 코테
- Hyperledger Fabric
- 블록 체인
- DOCs
- 하이퍼레저 인디
- 하이퍼레저 페브릭
- 알고리즘
- 코딜리티
- codility
- Private Data
- 빅데이터 기초
- 블록체인
- Hyperledger Fabric v1.1
- 빅데이터 교육
- 암브로셔스
- Hyperledger Indy
- Blockchain
- javascript
- 빅데이터 강의
- 어서와 데이터는 처음이지
- 빅데이터
- ambrosus
- 코딩테스트
- Hyperledger Fabric v1.2
- 하이퍼레저 패브릭
- ubuntu
- docker
- 기초 of 기초 데이터 개념
- 문제풀이
- 직딩잇템
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |