Unable to process GET request to elasticsearch URL 'https://localhost:9200'

Infos:

  • Used Zammad version: zammad 6.1
  • Used Zammad installation type: (source, package, docker-compose, …)
  • Operating system: debian 12
  • Browser + version: chrome, firefox

Expected behavior:

zammad run rake zammad:searchindex:rebuild

  • ** Invoke zammad:searchindex:rebuild (first_time)
    ** Invoke zammad:searchindex:version_supported (first_time)
    ** Invoke zammad:searchindex:configured (first_time)
    ** Invoke environment (first_time)
    ** Execute environment
    ** Execute zammad:searchindex:configured
    ** Execute zammad:searchindex:version_supported
    ** Execute zammad:searchindex:rebuild
    ** Execute zammad:searchindex:drop
    Dropping indexes… done.
    ** Execute zammad:searchindex:drop_pipeline
    Deleting pipeline… done.
    ** Execute zammad:searchindex:create
    Creating indexes… done.
    ** Execute zammad:searchindex:create_pipeline
    Creating pipeline… done.
    ** Execute zammad:searchindex:reload
    Reloading data…
    • Chat::Session…
      done in 0 seconds.
    • Cti::Log…
      done in 0 seconds.
    • Group…
      done in 6 seconds.
    • KnowledgeBase::Answer::Translation…
      done in 0 seconds.
    • KnowledgeBase::Category::Translation…
      done in 0 seconds.
    • KnowledgeBase::Translation…
      done in 0 seconds.
    • Organization…
      done in 19 seconds.
    • StatsStore…
      done in 0 seconds.
    • Ticket::Priority…
      done in 13 seconds.
    • Ticket::State…
      done in 20 seconds.
    • Ticket…
      done in 10 seconds.
    • User…
      done in 8 seconds.

Actual behavior:

zammad run rake zammad:searchindex:rebuild

rake aborted!
Unable to process GET request to elasticsearch URL ‘https://localhost:9200’. Check the response and payload for detailed information:

Response:
#<UserAgent::Result:0x00007fe05944eeb8 @success=false, @body=“{"error":{"root_cause":[{"type":"security_exception","reason":"unable to authenticate user [elastic] for REST request [/]","header":{"WWW-Authenticate":["Basic realm=\"security\" charset=\"UTF-8\"","Bearer realm=\"security\"","ApiKey"]}}],"type":"security_exception","reason":"unable to authenticate user [elastic] for REST request [/]","header":{"WWW-Authenticate":["Basic realm=\"security\" charset=\"UTF-8\"","Bearer realm=\"security\"","ApiKey"]}},"status":401}”, @data=nil, @code=“401”, @content_type=nil, @error=“Client Error: #<Net::HTTPUnauthorized 401 Unauthorized readbody=true>!”, @header={“www-authenticate”=>“Basic realm="security" charset="UTF-8", Bearer realm="security", ApiKey”, “content-type”=>“application/json”, “content-length”=>“465”}>

Payload:
null

Payload size: 0M
/opt/zammad/lib/search_index_backend.rb:36:in info' /opt/zammad/lib/tasks/zammad/search_index_es.rake:64:in block (3 levels) in ’
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/exe/rake:27:in <top (required)>' /opt/zammad/bin/bundle:121:in load’
/opt/zammad/bin/bundle:121:in `’
Tasks: TOP => zammad:searchindex:rebuild => zammad:searchindex:version_supported
(See full trace by running task with --trace)

Steps to reproduce the behavior:

apt install sudo gnupg2 apt-transport-https curl vim -y

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch --no-check-certificate
| gpg --dearmor > /etc/apt/trusted.gpg.d/elastic.gpg

echo “deb https://artifacts.elastic.co/packages/8.x/apt stable main”
| tee -a /etc/apt/sources.list.d/elastic-8.x.list

apt update

apt install elasticsearch -y

wget -qO- https://dl.packager.io/srv/zammad/zammad/key
| gpg --dearmor > /etc/apt/trusted.gpg.d/zammad.gpg

echo “deb https://dl.packager.io/srv/deb/zammad/zammad/stable/debian 12 main” > /etc/apt/sources.list.d/zammad.list

apt update

apt install zammad -y

systemctl enable --now elasticsearch

zammad run rails r “Setting.set(‘es_url’, ‘https://localhost:9200’)”

set +o history

zammad run rails r “Setting.set(‘es_user’, ‘elastic’)”

zammad run rails r “Setting.set(‘xxxxxx’, ‘xxxxxxxxxxxx’)”

set -o history

zammad run rake zammad:searchindex:rebuild

Solution : check Elasticsearch credentials, might be incorrect