A correct public base URL makes Kibana-generated links point to the externally reachable address instead of an internal hostname, load balancer target, or localhost endpoint.

Kibana reads kibana.yml on startup and uses server.publicBaseUrl as the canonical origin for features that need absolute URLs, such as email notifications and integrations that include links back to Kibana.

The value must be a complete http or https URL and must match the way Kibana is accessed from the outside, including any server.basePath prefix when configured. An invalid value (wrong scheme, basePath mismatch, trailing slash) can trigger configuration validation failures and prevent Kibana from starting.

Steps to set the Kibana public base URL:

  1. Identify the external URL used to access Kibana, without a trailing slash.

    Examples: https://kibana.example.net
    https://kibana.example.net/kibana (when server.basePath is /kibana).

  2. Edit the Kibana configuration file.
    $ sudo nano /etc/kibana/kibana.yml

    Container images commonly use /usr/share/kibana/config/kibana.yml instead of /etc/kibana/kibana.yml.

  3. Set server.publicBaseUrl in the configuration.
    server.publicBaseUrl: "https://kibana.example.net"

    Include http:// or https://, include the port when not 80/443, include server.basePath when configured, and omit a trailing /.

  4. Restart the Kibana service to apply the change.
    $ sudo systemctl restart kibana

    An invalid server.publicBaseUrl (missing scheme, basePath mismatch, trailing /) can prevent Kibana from starting; check journalctl -u kibana for configuration validation errors.

  5. Confirm the kibana service is running after the restart.
    $ sudo systemctl status kibana
    ● kibana.service - Kibana
         Loaded: loaded (/lib/systemd/system/kibana.service; enabled; vendor preset: enabled)
         Active: active (running) since Mon 2026-01-05 09:12:41 UTC; 8s ago
    ##### snipped #####
  6. Confirm the setting is present in the config.
    $ sudo rg -n "publicBaseUrl" /etc/kibana/kibana.yml
    25:server.publicBaseUrl: "https://kibana.example.net"