볼트 오류, 서버가 HTTPS 클라이언트에 HTTP 응답을 제공함
저는 비밀 저장소로 하시코프 볼트를 사용하고 있으며 우분투 20.04의 apt 저장소를 통해 설치했습니다.
그 후 루트 키를 추가하여 UI에 접속하면 UI를 이용하여 비밀을 추가하거나 삭제할 수 있습니다.
명령줄을 사용하여 비밀을 추가하거나 가져오려고 할 때마다 다음 오류가 발생합니다.
jarvis@saki:~$ vault kv get secret/vault
Get "https://127.0.0.1:8200/v1/sys/internal/ui/mounts/secret/vault": http: server gave HTTP response to HTTPS client
볼트 구성은 다음과 같습니다.
# Full configuration options can be found at https://www.vaultproject.io/docs/configuration
ui = true
#mlock = true
#disable_mlock = true
storage "file" {
path = "/opt/vault/data"
}
#storage "consul" {
# address = "127.0.0.1:8500"
# path = "vault"
#}
# HTTP listener
#listener "tcp" {
# address = "127.0.0.1:8200"
# tls_disable = 1
#}
# HTTPS listener
listener "tcp" {
address = "0.0.0.0:8200"
tls_cert_file = "/opt/vault/tls/tls.crt"
tls_key_file = "/opt/vault/tls/tls.key"
}
# Example AWS KMS auto unseal
#seal "awskms" {
# region = "us-east-1"
# kms_key_id = "REPLACE-ME"
#}
# Example HSM auto unseal
#seal "pkcs11" {
# lib = "/usr/vault/lib/libCryptoki2_64.so"
# slot = "0"
# pin = "AAAA-BBBB-CCCC-DDDD"
# key_label = "vault-hsm-key"
# hmac_key_label = "vault-hsm-hmac-key"
#}
제가 문제를 해결했습니다.두 개 이상의 유사한 문제에 대해 예외가 일반적일 수 있지만 다음 명령을 실행한 후 생성된 루트 토큰을 내보내 문제를 해결했습니다.
vault server -dev
출력은 이렇습니다.
...
You may need to set the following environment variable:
$ export VAULT_ADDR='http://127.0.0.1:8200'
The unseal key and root token are displayed below in case you want to
seal/unseal the Vault or re-authenticate.
Unseal Key: 1+yv+v5mz+aSCK67X6slL3ECxb4UDL8ujWZU/ONBpn0=
Root Token: s.XmpNPoi9sRhYtdKHaQhkHP6x
Development mode should NOT be used in production installations!
...
그런 다음 다음 명령을 실행하여 이러한 변수를 내보냅니다.
export VAULT_ADDR='http://127.0.0.1:8200'
export VAULT_TOKEN="s.XmpNPoi9sRhYtdKHaQhkHP6x"
참고: "s.XmpNpoi9sRhYtdKHaQHKHP6x"를 위 명령에서 출력된 토큰으로 대체합니다.
그런 다음 다음 명령을 실행하여 상태를 확인합니다.
vault status
다시 말하지만, 오류 메시지는 많은 다른 문제에 대해 유사할 수 있습니다.
Windows 10의 PowerShell에서는 다음과 같이 설정할 수 있었습니다.
$Env:VAULT_ADDR='http://127.0.0.1:8200'
그리고나서
vault status
올바르게 반환되었습니다.이것은 개발 모드에서 볼트 1.7.3에 있었습니다.
명령줄에 지정하고 Enter 키를 눌러 VOLT_ADDR을 에코할 수 있습니다 - 위의 설정된 줄과 동일하지만 = 기호와 그 이후의 모든 것을 생략합니다
$Env:VAULT_ADDR
출력:
키 값 --- ------ Seal Type shamir 초기화된 true sealed false total shares 1 임계값 1 버전
1.7.3 저장 유형 inmem 클러스터 이름 볼트-클러스터-80649ba2 클러스터 ID 2a35e304-0836-2896-e927-66722e7ca488 HA 사용
거짓의
새 터미널 창을 사용해 봅니다.이거 나한테 통했어요.
언급URL : https://stackoverflow.com/questions/63878533/vault-error-server-gave-http-response-to-https-client
'programing' 카테고리의 다른 글
포스트 타이틀을 워드프레스에서 특징 이미지의 알트 텍스트로 사용하는 방법? (0) | 2023.10.16 |
---|---|
PowerShell: IIS 7 및 IIS 7.5 모두에서 ps1 스크립트로 Web Administration 로드 (0) | 2023.10.16 |
bash에서 'which'에 해당하는 cmd/powershell은 무엇입니까? (0) | 2023.10.16 |
MySQL 8 암호가 작동하지 않는 새 사용자 생성 (0) | 2023.10.16 |
로컬 호스트에서 RMariaDB로 DB Connect 변경으로 인한 "NA in INT 64 Error" (0) | 2023.10.16 |