# ElasticSearch And Kibana With SSL Connect Refused(Kibana always connect to 127.0.0.1:9200)

**URL:** <https://discuss.elastic.co/t/elasticsearch-and-kibana-with-ssl-connect-refused-kibana-always-connect-to-127-0-0-1-9200/357627>\
**Category:** Kibana\
**Tags:** docker\
**Created:** [April 17, 2024, 2:01pm UTC](https://discuss.elastic.co/t/elasticsearch-and-kibana-with-ssl-connect-refused-kibana-always-connect-to-127-0-0-1-9200/357627 "2024-04-17T14:01:10Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![LAIguapi](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/laiguapi/32/133594_2.png) [@LAIguapi](https://discuss.elastic.co/u/LAIguapi)\
**Post date:** [April 17, 2024, 2:01pm UTC](https://discuss.elastic.co/t/elasticsearch-and-kibana-with-ssl-connect-refused-kibana-always-connect-to-127-0-0-1-9200/357627/1 "2024-04-17T14:01:10Z")

</div>

I built my `ES` and `Kibana` through docker-compose File like this

And my question is: my `Kibana` service cant connect to my `Es`, whether I change my docker-compose file or `kibana.yml` , kibana always connect to `127.0.0.1:9200` and error with `connect refused`

```auto
version: '2.2'
    services:
      es01:
        image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0
        restart: always
        container_name: es01
        environment:
          - node.name=es01
          - discovery.seed_hosts=es01,es02,es03
          - cluster.initial_master_nodes=es01,es02,es03
          - ELASTIC_PASSWORD=$ELASTIC_PASSWORD
          - cluster.name=docker-cluster
          - bootstrap.memory_lock=true
          - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
          - xpack.license.self_generated.type=trial 
          - xpack.security.enabled=true
          - xpack.security.http.ssl.enabled=true
          - xpack.security.http.ssl.key=$CERTS_DIR/es01/es01.key
          - xpack.security.http.ssl.certificate_authorities=$CERTS_DIR/ca/ca.crt
          - xpack.security.http.ssl.certificate=$CERTS_DIR/es01/es01.crt
          - xpack.security.transport.ssl.enabled=true
          - xpack.security.transport.ssl.verification_mode=certificate 
          - xpack.security.transport.ssl.certificate_authorities=$CERTS_DIR/ca/ca.crt
          - xpack.security.transport.ssl.certificate=$CERTS_DIR/es01/es01.crt
          - xpack.security.transport.ssl.key=$CERTS_DIR/es01/es01.key
        volumes: ['data01:/usr/share/elasticsearch/data', 'certs:$CERTS_DIR']
        ports:
          - 9200:9200
        ulimits:
          memlock:
            soft: -1
            hard: -1
        healthcheck:
          test: curl --cacert $CERTS_DIR/ca/ca.crt -s https://localhost:9200 >/dev/null; if [[$$? == 52]]; then echo 0; else echo 1; fi
          interval: 30s
          timeout: 10s
          retries: 5
    
      es02:
        container_name: es02
        image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0
        restart: always
        environment:
          - node.name=es02
          - discovery.seed_hosts=es01,es02,es03
          - cluster.initial_master_nodes=es01,es02,es03
          - ELASTIC_PASSWORD=$ELASTIC_PASSWORD
          - cluster.name=docker-cluster
          - bootstrap.memory_lock=true
          - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
          - xpack.license.self_generated.type=trial
          - xpack.security.enabled=true
          - xpack.security.http.ssl.enabled=true
          - xpack.security.http.ssl.key=$CERTS_DIR/es02/es02.key
          - xpack.security.http.ssl.certificate_authorities=$CERTS_DIR/ca/ca.crt
          - xpack.security.http.ssl.certificate=$CERTS_DIR/es02/es02.crt
          - xpack.security.transport.ssl.enabled=true
          - xpack.security.transport.ssl.verification_mode=certificate 
          - xpack.security.transport.ssl.certificate_authorities=$CERTS_DIR/ca/ca.crt
          - xpack.security.transport.ssl.certificate=$CERTS_DIR/es02/es02.crt
          - xpack.security.transport.ssl.key=$CERTS_DIR/es02/es02.key
        volumes: ['data02:/usr/share/elasticsearch/data', 'certs:$CERTS_DIR']
        ulimits:
          memlock:
            soft: -1
            hard: -1
      es03:
        container_name: es03
        image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0
        restart: always
        environment:
          - node.name=es03
          - discovery.seed_hosts=es01,es02,es03
          - cluster.initial_master_nodes=es01,es02,es03
          - ELASTIC_PASSWORD=$ELASTIC_PASSWORD
          - cluster.name=docker-cluster
          - bootstrap.memory_lock=true
          - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
          - xpack.license.self_generated.type=trial
          - xpack.security.enabled=true
          - xpack.security.http.ssl.enabled=true
          - xpack.security.http.ssl.key=$CERTS_DIR/es03/es03.key
          - xpack.security.http.ssl.certificate_authorities=$CERTS_DIR/ca/ca.crt
          - xpack.security.http.ssl.certificate=$CERTS_DIR/es03/es03.crt
          - xpack.security.transport.ssl.enabled=true
          - xpack.security.transport.ssl.verification_mode=certificate 
          - xpack.security.transport.ssl.certificate_authorities=$CERTS_DIR/ca/ca.crt
          - xpack.security.transport.ssl.certificate=$CERTS_DIR/es03/es03.crt
          - xpack.security.transport.ssl.key=$CERTS_DIR/es03/es03.key
        volumes: ['data03:/usr/share/elasticsearch/data', 'certs:$CERTS_DIR']
        ulimits:
          memlock:
            soft: -1
            hard: -1
      
      wait_until_ready:
        image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0
        command: /usr/bin/true
        depends_on: {"es01": {"condition": "service_healthy"}}
      
      kibana:
        image: docker.elastic.co/kibana/kibana:7.14.0
        restart: always
        container_name: kibana
        ports:
          - 5601:5601
        environment:
          - SERVER_NAME= kibana
          - SERVER_HOSE= 0.0.0.0
          - elasticsearch.hosts= https://myIp:92000
          - SERVER_SSL_ENABLED=true
          - SERVER_SSL_CERTIFICATE=$KIBANA_CERTS_DIR/kibana.crt
          - SERVER_SSL_KEY=$KIBANA_CERTS_DIR/kibana.key
            #- ELASTICSEARCH.USERNAME=kibana_system
            #- ELASTICSEARCH.PASSWORD=$KIBANA_PASSWORD
          - ELASTICSEARCH.SSL.CERTIFICATEAUTHORITIES=$KIBANA_CERTS_DIR/ca/ca.crt
          - ELASTICSEARCH.SSL.VERIFICATIONMODE=certificate
          - xpack.security.enabled=true
          - xpack.security.encryptionKey="SOMETHING_CODE_ENCRYPTIONKEY_HERE"
          - xpack.reporting.encryptionKey="SOMETHING_CODE_ENCRYPTIONKEY_HERE"
          - i18n.locale=zh-CN
          - TZ=Asia/Shanghai
        volumes: ['./kibana:$KIBANA_CERTS_DIR','/home/bali16/service/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml']
        depends_on:
          - es01
          - es02
          - es03
    volumes: {"data01", "data02","data03","certs"}

```

and here is my kibana container logs

```auto

    {"type":"log","@timestamp":"2024-04-17T16:26:00+08:00","tags":["info","plugins-service"],"pid":1213,"message":"Plugin \"metricsEntities\" is disabled."}
    {"type":"log","@timestamp":"2024-04-17T16:26:00+08:00","tags":["warning","config","deprecation"],"pid":1213,"message":"plugins.scanDirs is deprecated and is no longer used"}
    {"type":"log","@timestamp":"2024-04-17T16:26:00+08:00","tags":["warning","config","deprecation"],"pid":1213,"message":"Config key [monitoring.cluster_alerts.email_notifications.email_address] will be required for email notifications to work in 8.0.\""}
    {"type":"log","@timestamp":"2024-04-17T16:26:00+08:00","tags":["warning","config","deprecation"],"pid":1213,"message":"\"xpack.reporting.roles\" is deprecated. Granting reporting privilege through a \"reporting_user\" role will not be supported starting in 8.0. Please set \"xpack.reporting.roles.enabled\" to \"false\" and grant reporting privileges to users using Kibana application privileges **Management > Security > Roles**."}
    {"type":"log","@timestamp":"2024-04-17T16:26:00+08:00","tags":["info","http","server","NotReady"],"pid":1213,"message":"http server running at https://localhost:5601"}
    {"type":"log","@timestamp":"2024-04-17T16:26:01+08:00","tags":["info","plugins-system"],"pid":1213,"message":"Setting up [106] plugins: [translations,taskManager,licensing,globalSearch,globalSearchProviders,banners,licenseApiGuard,code,usageCollection,xpackLegacy,telemetryCollectionManager,telemetryCollectionXpack,kibanaUsageCollection,securityOss,share,screenshotMode,telemetry,newsfeed,mapsEms,mapsLegacy,legacyExport,kibanaLegacy,embeddable,uiActionsEnhanced,expressions,charts,esUiShared,bfetch,data,savedObjects,visualizations,visTypeXy,visTypeVislib,visTypeTimelion,features,visTypeTagcloud,visTypeTable,visTypePie,visTypeMetric,visTypeMarkdown,tileMap,regionMap,presentationUtil,timelion,home,searchprofiler,painlessLab,grokdebugger,graph,visTypeVega,management,watcher,licenseManagement,indexPatternManagement,advancedSettings,discover,discoverEnhanced,dashboard,dashboardEnhanced,visualize,visTypeTimeseries,savedObjectsManagement,spaces,security,transform,savedObjectsTagging,lens,reporting,canvas,lists,ingestPipelines,fileUpload,maps,dataVisualizer,encryptedSavedObjects,dataEnhanced,timelines,dashboardMode,cloud,upgradeAssistant,snapshotRestore,fleet,indexManagement,rollup,remoteClusters,crossClusterReplication,indexLifecycleManagement,enterpriseSearch,eventLog,actions,alerting,triggersActionsUi,stackAlerts,ruleRegistry,osquery,ml,cases,securitySolution,observability,uptime,infra,monitoring,logstash,console,apmOss,apm]"}
    {"type":"log","@timestamp":"2024-04-17T16:26:01+08:00","tags":["info","plugins","taskManager"],"pid":1213,"message":"TaskManager is identified by the Kibana UUID: c8256dfe-2b3f-4c1f-86bc-896ae35eba61"}
    {"type":"log","@timestamp":"2024-04-17T16:26:04+08:00","tags":["warning","plugins","security","config"],"pid":1213,"message":"Generating a random key for xpack.security.encryptionKey. To prevent sessions from being invalidated on restart, please set xpack.security.encryptionKey in the kibana.yml or use the bin/kibana-encryption-keys command."}
    {"type":"log","@timestamp":"2024-04-17T16:26:04+08:00","tags":["warning","plugins","reporting","config"],"pid":1213,"message":"Generating a random key for xpack.reporting.encryptionKey. To prevent sessions from being invalidated on restart, please set xpack.reporting.encryptionKey in the kibana.yml or use the bin/kibana-encryption-keys command."}
    {"type":"log","@timestamp":"2024-04-17T16:26:04+08:00","tags":["warning","plugins","reporting","config"],"pid":1213,"message":"Chromium sandbox provides an additional layer of protection, but is not supported for Linux CentOS 8.4.2105\n OS. Automatically setting 'xpack.reporting.capture.browser.chromium.disableSandbox: true'."}
    {"type":"log","@timestamp":"2024-04-17T16:26:04+08:00","tags":["warning","plugins","encryptedSavedObjects"],"pid":1213,"message":"Saved objects encryption key is not set. This will severely limit Kibana functionality. Please set xpack.encryptedSavedObjects.encryptionKey in the kibana.yml or use the bin/kibana-encryption-keys command."}
    {"type":"log","@timestamp":"2024-04-17T16:26:04+08:00","tags":["warning","plugins","actions","actions"],"pid":1213,"message":"APIs are disabled because the Encrypted Saved Objects plugin is missing encryption key. Please set xpack.encryptedSavedObjects.encryptionKey in the kibana.yml or use the bin/kibana-encryption-keys command."}
    {"type":"log","@timestamp":"2024-04-17T16:26:04+08:00","tags":["warning","plugins","alerting","plugins","alerting"],"pid":1213,"message":"APIs are disabled because the Encrypted Saved Objects plugin is missing encryption key. Please set xpack.encryptedSavedObjects.encryptionKey in the kibana.yml or use the bin/kibana-encryption-keys command."}
    {"type":"log","@timestamp":"2024-04-17T16:26:10+08:00","tags":["info","plugins","ruleRegistry"],"pid":1213,"message":"Write is disabled, not installing assets"}
    {"type":"log","@timestamp":"2024-04-17T16:26:10+08:00","tags":["info","savedobjects-service"],"pid":1213,"message":"Waiting until all Elasticsearch nodes are compatible with Kibana before starting saved objects migrations..."}
    {"type":"log","@timestamp":"2024-04-17T16:26:10+08:00","tags":["error","savedobjects-service"],"pid":1213,"message":"Unable to retrieve version information from Elasticsearch nodes. connect ECONNREFUSED 127.0.0.1:9200"}

```

As you look in kibana log,  
Even the port of `elasticsearch.hosts` is `92000` in my docker-compose file, it always connect to `127.0.0.1` (by the way , the port in my kibana.yml is `92001`, it also useless ☹ )

And then , I can visit and operate my Es with username and password on browser, it is prove that my es is **OK**

So do I have any problems with my configuration?

How should I solve the problem of the `Kibana` connect? It seems like when I don’t configure the **SSL** of the `ES` and `Kibana`, they can connected successfully

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [May 15, 2024, 2:01pm UTC](https://discuss.elastic.co/t/elasticsearch-and-kibana-with-ssl-connect-refused-kibana-always-connect-to-127-0-0-1-9200/357627/2 "2024-05-15T14:01:47Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
