---
title: "Wrap up"
description: "Troubleshoot the TLS tutorial and optionally remove its containers and files."
---

# Wrap up

> For the complete documentation index see: [llms.txt](https://aerospike.com/docs/llms.txt)
> 
> All documentation pages available in markdown.

## Troubleshoot

If a dispute exists in Aerospike but a support search returns no results in Elasticsearch over HTTPS, work through these checks in order.

-   A container exited or did not become available. Check every service before troubleshooting the data path.
    
    Terminal
    
    ```bash
    docker compose ps -a
    
    docker compose logs aerospike elasticsearch aerospike-elasticsearch-outbound
    ```
    
    Check for image-pull authorization errors, occupied host ports, unreadable bind mounts, or certificate-file permission errors.
    
-   Feature-key file not loaded. Verify `asdb-change-notification` is enabled.
    
    Terminal
    
    ```bash
    grep -E '^asdb-change-notification[[:space:]]+true$' features.conf
    
    docker compose exec -T aerospike asinfo -v "get-config:context=service" | grep feature-key
    
    docker compose logs aerospike | grep -i 'feature.key\|license'
    ```
    
-   The Cross-Datacenter Replication (XDR) mTLS connection fails. Check both sides of the connection.
    
    Terminal
    
    ```bash
    docker compose logs aerospike | grep -i 'tls\|xdr'
    
    docker compose logs aerospike-elasticsearch-outbound | grep -i 'peer\|handshake\|ssl'
    ```
    
    Verify `tls-name`, the Elasticsearch connector name in `node-address-port`, `allowed-peer-names`, and the CA files against the generated certificates. One `SSLHandshakeException` with `Empty client certificate` is expected. It comes from the connection without a client certificate in [Start and verify](https://aerospike.com/docs/connectors/elasticsearch/learn/secure-with-tls/step/3/part/0/start-and-verify). Repeated handshake errors while XDR `success` stays flat point to a certificate or peer-name mismatch.
    
-   The Elasticsearch connector cannot reach Elasticsearch, or search results are empty. Verify Elasticsearch directly, then check Elasticsearch connector logs and error metrics.
    
    Terminal
    
    ```bash
    curl -fsS --cacert ./security/ca.crt \
    
      -u elastic:changeme-for-dev \
    
      https://localhost:9200/_cluster/health
    
    curl -fsS -X POST --cacert ./security/ca.crt \
    
      -u elastic:changeme-for-dev \
    
      'https://localhost:9200/aerospike/_refresh'
    
    docker compose logs aerospike-elasticsearch-outbound | tail -n 50
    
    curl -fsS http://localhost:8902/manage/rest/v1/metrics | grep -io '"[^"]*error[^"]*":{"count":[0-9]*'
    ```
    
    A nonzero `requests-error` or `requests-parse-error` count means the Elasticsearch connector rejected or failed to process records. If the direct request fails, compare the CA, password file, `ELASTIC_PASSWORD`, and `es-client` settings.
    

## Clean up the tutorial (optional)

1.  Stop and remove the tutorial containers and network. The Compose file does not create persistent volumes, so this removes the tutorial data.
    
    Terminal
    
    ```bash
    docker compose down
    ```
    
2.  Delete the project directory when you no longer need it. Verify that it contains no files you want to keep, including `features.conf`, private keys, and the password file.
    
    Terminal
    
    ```bash
    cd ..
    
    rm -rf aerospike-elastic-tls
    ```
    

`mkcert` stores its CA private key outside the project under the directory reported by `mkcert -CAROOT`.

::: undefined
-   I’ve verified the secured Aerospike-to-Elasticsearch pipeline.
:::

Share

Congratulations on completing this tutorial! Share your achievement with the world and let everyone know about your newly acquired skills.

[](https://www.linkedin.com/feed/?shareActive&mini=true&text=Secured%20Aerospike-to-Elasticsearch%20with%20mTLS%20on%20XDR%20and%20HTTPS%20to%20Elasticsearch.%0A%0Amkcert%20PEM%20certs%2C%20mutual%20auth%20on%20the%20connector%20listener%2C%20and%20verified%20writes%20over%20HTTPS.%0A%0A%23Aerospike%20%23Elasticsearch%20%23TLS%20%23Security%20%23Docker%0A%0Ahttps%3A%2F%2Faerospike.com%2Fdocs%2Fconnectors%2Felasticsearch%2Flearn%2Fsecure-with-tls "Post to LinkedIn")[](https://bsky.app/intent/compose?text=Secured%20Aerospike-to-Elasticsearch%20with%20mTLS%20on%20XDR%20and%20HTTPS%20to%20Elasticsearch.%0A%0Amkcert%20PEM%20certs%2C%20mutual%20auth%20on%20the%20connector%20listener%2C%20and%20verified%20writes%20over%20HTTPS.%0A%0A%23Aerospike%20%23Elasticsearch%20%23TLS%20%23Security%20%23Docker%0A%0Ahttps%3A%2F%2Faerospike.com%2Fdocs%2Fconnectors%2Felasticsearch%2Flearn%2Fsecure-with-tls "Post to BlueSky")[](https://twitter.com/intent/tweet?text=Secured%20Aerospike-to-Elasticsearch%20with%20mTLS%20on%20XDR%20and%20HTTPS%20to%20Elasticsearch.%0A%0Amkcert%20PEM%20certs%2C%20mutual%20auth%20on%20the%20connector%20listener%2C%20and%20verified%20writes%20over%20HTTPS.%0A%0A%23Aerospike%20%23Elasticsearch%20%23TLS%20%23Security%20%23Docker%0A%0Ahttps%3A%2F%2Faerospike.com%2Fdocs%2Fconnectors%2Felasticsearch%2Flearn%2Fsecure-with-tls "Post to Twitter")

::: undefined
-   Configure the Elasticsearch connector listener in [Connector settings](https://aerospike.com/docs/connectors/elasticsearch/configure/service#configuring-tls).
    
-   Configure Elasticsearch credentials in [Elasticsearch client authentication](https://aerospike.com/docs/connectors/elasticsearch/configure/es-client#auth-configuration).
    
-   Deploy the Elasticsearch connector in [Install the Elasticsearch connector](https://aerospike.com/docs/connectors/elasticsearch/install).
:::

[Previous  
Search for a merchant's disputes](https://aerospike.com/docs/connectors/elasticsearch/learn/secure-with-tls/step/3/part/2/search-for-a-merchant)