강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

tree님의 프로필 이미지
tree

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

대칭키를 이용한 암호화 ①

user-service.yml의 username / password 바뀌었을 때 h2-console 접속 관련

작성

·

375

0

안녕하세요. 강사님 강의 잘 듣고 있습니다~

따라 하면서 해보고 싶은 게 있었는데 잘 안되서 방법이 있는지 질문드려요.

해보고 싶었던 거는 user-service.yml의 값들이 바뀌었을 떄 actuator/refresh 하여 바뀐 정보로 업데이트하고 바뀐 정보로 접속해 보고 싶었는데 안되더라고요.

username을 바꿨을 때 refresh 로 POST 요청하면 username이 바뀌었다고 응답이 오는데 password는 문자열이라 그런지 바뀌었다고 바뀌었다고 응답도 안 오더라고요.

 

그래서 username으로 테스트 해봤는데, username을 다른 걸로 바꾸고 refresh 하고 바뀐 username으로 접속해도 안 되고 이전 username으로 접속은 되더라고요. 혹시 이런 경우에 가능케 하는 방법이 있을까요?

답변 1

3

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다. 

답변이 늦어 죄송합니다. 

올려주신 질문의 내용을 보면, H2 DB의 username과 password를 변경하고 actuator/refresh를 실행했을 때 반영되는지에 대한 내용인 것 같습니다. 먼저 username과 password모두 text 파일을 변경하고, actuator/refresh를 실행하여 반영된 값을 가져올 수 있습니다. 아래 actuator/refresh의 결과 화면을 보면, spring.datasource.password 값이 변경되었음을 알수 있으며, 실제로 값을 확인해 봐도 변경된 데이터로 잘 가져오고 있습니다. (참고로 password는 '' 값에서 'test'로 변경하였습니다)

[
"config.client.version",
"spring.datasource.password"
]

다만, H2 DB의 username과 password를 user-service 애플리케이션이 기동되면, H2 DB에 인증 정보를 전달하여 서버를 기동하게 됩니다. 즉, user-service의 기동과 함께 이미 username과 password가 지정되었습니다. 그런데, actuator/refresh를 실행하게 되면, 이것은 user-service 자체를 재기동하는 것이 아니라, configuration정보만을 갱신하는 것이기 때문에, 실제 값은 변경이 되어도, H2 DB에 변경된 데이터를 다시 전달하지는 않습니다. 따라서, H2 DB는 초기에 지정된 username과 password 접속해야 합니다. 그 외 다른 정보는 동적으로 변경하실 수 있을 겁니다. 

감사합니다. 

tree님의 프로필 이미지
tree

작성한 질문수

질문하기