Was Jay hier meinte, ist, dass Sie den konfigurierten Hostnamen (DISCOURSE_HOSTNAME in Ihrer Container-.yml-Definition) verwenden müssen und nicht einen beliebigen Hostnamen, der auf die richtige IP-Adresse aufgelöst wird.
Dies ist beabsichtigt, damit Sie eine öffentliche Instanz nicht einfach von überall aus per Reverse-Proxy erreichen können und nur der konfigurierte Hostname akzeptiert wird:
$ 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
[... ]
# Das Folgende entspricht der Erstellung eines DNS-Eintrags unter
# try.somebogusreverseproxy.com, der auf dieselbe IP-Adresse wie try.discourse.org zeigt,
# und dann die Anforderung von 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
Umgekehrt, wenn Sie dies versuchen:
curl -H 'Host: YOUR_CONFIGURED_HOSTNAME' -I https://discourse_app/metrics
sollte es funktionieren, ist aber ein Hack. Es wird erwartet, dass Sie DNS nach Bedarf einrichten, damit Discourse über seinen konfigurierten Hostnamen transparent erreichbar ist:
curl -I https://YOUR_CONFIGURED_HOSTNAME/metrics
Wie Sie das tun, hängt stark von Ihren Anforderungen ab, aber die einfachste Option ist die Einrichtung eines Alias in /etc/hosts von dort, wo Ihre HTTP-Anfragen ausgehen.