O que Jay quis dizer aqui é que você precisa usar o nome do host configurado (DISCOURSE_HOSTNAME na sua definição de contêiner .yml) em oposição a qualquer nome de host que por acaso resolva para o IP correto.
Isso é deliberado, para que você não possa facilmente fazer proxy reverso de uma instância pública de qualquer lugar, e para que apenas o nome do host configurado seja aceito:
$ curl -I https://try.discourse.org/about.json
HTTP/2 200
server: nginx
date: Mon, 15 May 2023 16:25:05 GMT
content-type: application/json; charset=utf-8
[...]
# o seguinte é equivalente a criar um registro DNS em
# try.somebogusreverseproxy.com apontando para o mesmo endereço IP de try.discourse.org,
# e então solicitar https://try.somebogusreverseproxy.com/about.json
$ curl -H 'Host: try.somebogusreverseproxy.com' -I https://try.discourse.org/about.json
HTTP/2 404
cache-control: no-cache
content-length: 1427
content-type: text/html
cdck-proxy-id: app-router-tiehunter02.sea1
cdck-proxy-id: app-balancer-tieinterceptor1b.sea1
Inversamente, se você tentar isto:
curl -H 'Host: YOUR_CONFIGURED_HOSTNAME' -I https://discourse_app/metrics
deve funcionar, mas é um hack. A expectativa é que você configure o DNS conforme necessário para que o Discourse possa ser alcançado em seu nome de host configurado de forma transparente:
curl -I https://YOUR_CONFIGURED_HOSTNAME/metrics
Como fazer isso depende muito de seus requisitos, mas a opção mais simples é configurar um alias em /etc/hosts de onde suas requisições HTTP se originam.