web-dev-qa-db-ja.com

Vaultエラー、サーバーはHTTPSクライアントへのHTTPレスポンスを与えました

Hashicorp Vaultを秘密のストアとして使用し、Ubuntu 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
 _

Vault設定は次のようになります。

# 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"
#}
 _
3
messy_tech

問題を修正しました。ただし、例外は1つ以上の同様の問題に共通している可能性があります。このコマンドを実行した後に生成されたルートトークンをエクスポートすることで問題を修正しました。

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"
 _

次に次のコマンドを実行してステータスを確認します。

vault status
 _

繰り返しますが、エラーメッセージはさまざまな問題に似ている可能性があります。

4
messy_tech