Lo que Jay quiso decir aquí es que necesitas usar el nombre de host configurado (DISCOURSE_HOSTNAME en la definición de tu archivo .yml del contenedor) en lugar de cualquier nombre de host que resuelva a la IP correcta.
Esto es deliberado, para que no puedas hacer un proxy inverso trivial de una instancia pública desde cualquier lugar, y para que solo se acepte el nombre de host configurado:
$ 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
[...]
# lo siguiente es equivalente a crear un registro DNS en
# try.somebogusreverseproxy.com apuntando a la misma dirección IP que try.discourse.org,
# y luego 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
Por el contrario, si intentas esto:
curl -H 'Host: YOUR_CONFIGURED_HOSTNAME' -I https://discourse_app/metrics
Debería funcionar, pero es una solución temporal. La expectativa es que configures el DNS según sea necesario para que Discourse sea accesible en su nombre de host configurado de forma transparente:
curl -I https://YOUR_CONFIGURED_HOSTNAME/metrics
Cómo hacer eso depende en gran medida de tus requisitos, pero la opción más simple es configurar un alias en /etc/hosts desde donde se originan tus solicitudes HTTP.