backend "consul" {
address = "<internal_consul_elb_address>:8500"
path = "vault"
advertise_addr = "https://<public_elb_address>:8200"
tls_skip_verify = 1
}
listener "tcp" {
address = "127.0.0.1:8200"
tls_disable = 1
}
listener "tcp" {
address = "10.0.1.49:8200"
tls_cert_file = "/etc/vault.d/server.pem"
tls_key_file = "/etc/vault.d/server.key"
}
Sealed: false
Key Shares: 5
Key Threshold: 3
Unseal Progress: 0
High-Availability Enabled: true
Mode: active
Leader: https://a.b.c.com:8200
Error checking seal status: Get https://a.b.c.com:8200/v1/sys/seal-status: x509: certificate is valid for *.c.com, c.com, not a.b.c.com
2015/11/20 01:03:53 http: TLS handshake error from <elb_internal_ip>:17187: remote error: bad certificate
2015/11/20 01:18:30 http: TLS handshake error from 10.0.0.252:13400: tls: client offered an unsupported, maximum protocol version of 301
2015/11/20 01:18:50 http: TLS handshake error from 10.0.2.245:17596: tls: client offered an unsupported, maximum protocol version of 301
Any reason only one is unsealed? If only the active node is unsealed,
you basically have no HA capability, because if that node goes down no
standby node is able to take over.
> the <public_elb_address> looks something like a.b.c.com
>
> The TLS certificate is a wildcard certificate from GlobalSign, matching
> *.c.com and c.com
This is going to be a problem (and as we'll see, it is), because your
certificate isn't valid for *.*.c.com. So it would match b.c.com
(*.c.com), but not a.b.c.com (which would require *.*.c.com).
You can have ELB perform the TLS connection if you like (although you
may have failed for the same reason, if you were using the same domain
and certificates). The problem there is that if the connection from
the ELB to Vault is then unencrypted, you have lost a good chunk of
security.
Hope that helps...let us know if you have further issues.
I did a little research on this myself. ELBs are PCI compliant, but only if you do *not* terminate TLS at the ELB. I confirmed this 2nd-hand by way of a friend who asked this question of Amazon on my behalf. I haven’t verified this myself, but I believe that if you use your ELB in TCP mode, your vault server will not see the real IP address of the client. That makes auditing by client IP basically impossible. For the token-granting service I’m building based on the cubbyhole post on the Hashicorp blog (that I think Jeff wrote), I want to use the client’s IP address as a component of validating that the client is allowed to request a token.]
To view this discussion on the web visit https://groups.google.com/d/msgid/vault-tool/CAORe8GECBLmUZAjUMNE0jNZa0xYXOYPd_RGYTPZup8sNktrqVQ%40mail.gmail.com.
2015/11/24 20:41:26 [INFO] core: acquired lock, enabling active operation
2015/11/24 20:41:26 [INFO] core: post-unseal setup starting
2015/11/24 20:41:26 [INFO] core: mounted backend of type generic at logical/e7c6fc9e-cd19-e20f-0077-22a904e3d3ef/
2015/11/24 20:41:26 [INFO] core: mounted backend of type cubbyhole at logical/62f458ab-16f8-dbf2-b8da-72e08c9b58e5/
2015/11/24 20:41:26 [INFO] core: mounted backend of type system at sys/
2015/11/24 20:41:26 [INFO] rollback: starting rollback manager
2015/11/24 20:41:26 [INFO] expire: restored 5 leases
2015/11/24 20:41:26 [INFO] core: post-unseal setup complete
2015/11/24 20:42:25 [WARN] core: leadership lost, stopping active operation
2015/11/24 20:42:25 [INFO] core: pre-seal teardown starting
2015/11/24 20:42:25 [INFO] rollback: stopping rollback manager
2015/11/24 20:42:25 [INFO] core: pre-seal teardown complete
2015/11/24 20:42:25 [INFO] core: pre-seal teardown starting
2015/11/24 20:42:25 [INFO] core: pre-seal teardown complete
2015/11/24 20:43:25 [INFO] core: acquired lock, enabling active
backend "consul" {
address = "<internal_consul_elb_address>:8500"
path = "vault"
advertise_addr = "https://<public_elb_address>:8200"
tls_skip_verify = 1
}
listener "tcp" {
address = "127.0.0.1:8200"
tls_disable = 1
}
listener "tcp" {
tls_cert_file = "/etc/vault.d/server.pem"
tls_key_file = "/etc/vault.d/server.key"
}
--
This mailing list is governed under the HashiCorp Community Guidelines - https://www.hashicorp.com/community-guidelines.html. Behavior in violation of those guidelines may result in your removal from this mailing list.
GitHub Issues: https://github.com/hashicorp/vault/issues
IRC: #vault-tool on Freenode
---
You received this message because you are subscribed to the Google Groups "Vault" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vault-tool+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vault-tool/694f0b50-188b-4d11-81ff-66b19f7bae7f%40googlegroups.com.
$ curl -i http://127.0.0.1:8200/v1/sys/health
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
Date: Wed, 25 Nov 2015 01:44:13 GMT
Content-Length: 51
{"initialized":true,"sealed":false,"standby":true}
$ curl -i http://127.0.0.1:8200/v1/sys/health
HTTP/1.1 500 Internal Server Error
Content-Type: application/json
Date: Wed, 25 Nov 2015 01:52:29 GMT
Content-Length: 50
{"initialized":true,"sealed":true,"standby":true}
$ curl -i http://127.0.0.1:8200/v1/sys/health
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
Date: Wed, 25 Nov 2015 01:52:59 GMT
Content-Length: 51
{"initialized":true,"sealed":false,"standby":true}
To view this discussion on the web visit https://groups.google.com/d/msgid/vault-tool/332d1f8f-442c-4820-9fa1-36e13c8e48e7%40googlegroups.com.
<internal_consul_elb_address>:8500 you specified in your Vault config file. Could you please explain? I am new to Vault and Consul. Thanks a lot!
June
backend "consul" {
address = "consul0:8500"
path = "vault"
advertise_addr = "https://my.domain.com:8200"
tls_cert_file = "/etc/vault.d/server.pem"
tls_key_file = "/etc/vault.d/server.key"
}