Skip to content

Reverse Proxy

Huddo is served from the /huddo path of a single hostname, and the in-cluster Ingress does the fine-grained routing between apps. That means one location /huddo block on your front proxy covers everything — every app and the WebSocket.

This configuration is the same for every deployment: Component Pack, standalone Kubernetes, and adding Huddo to an existing Boards install.

Path Routed by the Ingress to
/huddo core
/huddo/ideas ideas
/huddo/wikis wikis
/huddo/attachments attachments
/huddo/discussions discussions
/huddo/notifications notifications
/huddo/editor editor
/huddo/spaces spaces
/huddo/search search
/huddo/drawio drawio, when enabled
/huddo/socketcluster socketcluster

nginx

The map switches Connection to upgrade only for WebSocket requests, so the same block serves both https and wss.

Add the map in the http {} context, alongside the other proxy_* defaults:

Warning

nginx refuses to start if map is placed inside a server {} or location {} block.

map $http_upgrade $connection_upgrade {
  default upgrade;
  ''      close;
}

Then add the location block to your listen 443 server block:

location /huddo {
  proxy_ssl_server_name on;
  proxy_pass http://[KUBERNETES_HOST]:[INGRESS_PORT]/huddo;
  proxy_redirect off;
  proxy_pass_request_headers on;
  proxy_http_version 1.1;
  proxy_set_header Host $host;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection $connection_upgrade;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_read_timeout 3600s;
  proxy_send_timeout 3600s;
}

Where:

  • [KUBERNETES_HOST] is the hostname/IP of the master in your cluster
  • [INGRESS_PORT] is the port of your Traefik ingress controller (e.g. 32080)

Dedicated hostname

If Huddo has the hostname to itself rather than sharing it with HCL Connections, redirect the root to /huddo so users landing on the bare domain reach the app:

location = / {
  return 302 https://$host/huddo;
}

The /huddo prefix is built into the images and cannot be removed, even on a dedicated hostname.


Alongside Huddo Boards

If Boards runs on the same hostname, its /boards and /api-boards blocks are unchanged — the Huddo block does not overlap them. Longest-prefix matching keeps the three separate.


Other proxies

Any reverse proxy works. Whatever you use must:

  • forward /huddo to the Ingress without stripping the prefix — the apps are built with /huddo as their base path
  • preserve the original Host header, so the apps generate correct absolute URLs
  • support the WebSocket upgrade on /huddo/editor and /huddo/socketcluster (on Apache httpd this needs mod_proxy_wstunnel)
  • allow a long read timeout, so idle WebSocket connections are not dropped

For the wider HCL Connections proxy setup, the Boards httpd guide covers the same ground for an IHS/httpd front end.


If you have migrated HCL Connections Wikis, add this redirect so existing links resolve to the migrated pages:

location ~ ^/wikis/home/?(.*)$ {
  rewrite ^/wikis/home/?(.*)$ /huddo/wikis/migrated/$1 redirect;
}