Gerar links https na porta 80

Desculpe, não estou acompanhando (compreendendo totalmente) suas mensagens.

Você disse,

Preciso configurar o servidor para que ele escute a porta 80, mas forneça links em HTTPS. Como posso resolver esse problema?

Se entendi corretamente, você deseja que todo o tráfego HTTP da porta 80 seja redirecionado para a porta 443 HTTPS, e que não envie tráfego HTTPS na porta 80, apenas redirecione a porta 80 para a porta 443.

Se for esse o caso, é assim que a maioria dos servidores web é configurada; e, por exemplo, se você usar o LetsEncrypt para configurar seu tráfego na porta 443 usando o Apache2 ou o nginx, o LetsEncrypt perguntará se deseja configurar esse redirecionamento e fará isso por você.

Como perguntou @Falco, qual é a sua configuração exata? Você está executando um servidor web como o nginx ou o Apache2 na frente do Discourse como um proxy reverso?

Se for esse o caso, ao configurar o LetsEncrypt no nginx ou no Apache2, o software de configuração do LetsEncrypt configurará automaticamente o “redirecionar todo o HTTP para HTTPS” para você (se você selecionar “sim” quando o diálogo de configuração perguntar).