Versions (relevant - OpenSearch/Dashboard/Server OS/Browser):
2.8.0
Describe the issue:
When attempting to use HTTPS for opensearch dashboard the following error is present in the logs:
[ConnectionError]: unable to verify the first certificate
This is resulting in the dashboard webpage displaying an error stating that the dashboard is not ready (however the webpage shows that the connection is secure).
The certificate I am using is a wild card that matches my nodes and my dashboards domain. It also contains both Client and Server Auth under the EKU.
SSL for my nodes is working correctly using the same certificates.
If I drop opensearch.ssl.verificationMode to None then SSL works, but dropping it to Certificate still fails.
Configuration:
opensearch.hosts: [“my_node1.net”]
opensearch.ssl.verificationMode: full
opensearch.username: kibanaserver
opensearch.password: kibanaserver
opensearch.requestHeadersWhitelist: [authorization, securitytenant]
server.ssl.enabled: true
server.ssl.certificate: /usr/share/opensearch-dashboards/certs/cert.pem
server.ssl.key: /usr/share/opensearch-dashboards/certs/cert-key.pem
opensearch.ssl.certificateAuthorities: [“/usr/share/opensearch-dashboards/certs/root-ca.pem”, “/usr/share/opensearch-dashboards/certs/intermediate-ca.pem”]
opensearch_security.multitenancy.enabled: true
opensearch_security.multitenancy.tenants.preferred: [Private, Global]
opensearch_security.readonly_mode.roles: [kibana_read_only]
opensearch_security.cookie.secure: true
server.host: ‘my_dashbooard.net’
plugins.security.ssl.transport.pemcert_filepath: esnode.pem
plugins.security.ssl.transport.pemkey_filepath: esnode-key.pem
plugins.security.ssl.transport.pemtrustedcas_filepath: root-ca.pem
plugins.security.ssl.transport.enforce_hostname_verification: true
plugins.security.ssl.http.enabled: true
plugins.security.ssl.http.pemcert_filepath: esnode.pem
plugins.security.ssl.http.pemkey_filepath: esnode-key.pem
plugins.security.ssl.http.pemtrustedcas_filepath: root-ca.pem
plugins.security.allow_unsafe_democertificates: false
plugins.security.allow_default_init_securityindex: true
plugins.security.nodes_dn:
- ‘myDNs’
plugins.security.audit.type: internal_opensearch
plugins.security.enable_snapshot_restore_privilege: true
plugins.security.check_snapshot_restore_write_privileges: true
plugins.security.restapi.roles_enabled: [“all_access”, “security_rest_api_access”]
plugins.security.system_indices.enabled: true
plugins.security.system_indices.indices: [“.plugins-ml-model-group”, “.plugins-ml-model”, “.plugins-ml-task”, “.opendistro-alerting-config”, “.opendistro-alerting-alert*”, “.opendistro-anomaly-results*”, “.opendistro-anomaly-detector*”, “.opendistro-anomaly-checkpoints”, “.opendistro-anomaly-detection-state”, “.opendistro-reports-", ".opensearch-notifications-”, “.opensearch-notebooks”, “.opensearch-observability”, “.ql-datasources”, “.opendistro-asynchronous-search-response*”, “.replication-metadata-store”, “.opensearch-knn-models”]
node.max_local_storage_nodes: 3
Relevant Logs or Screenshots:
:[“error”,“opensearch”,“data”],“pid”:120439,“message”:“[ConnectionError]: unable to verify the first certificate”}