Ho un’istanza Kubernetes su GCP. Tutto sembra funzionare correttamente, ma in qualche modo force_https non sta forzando il reindirizzamento e il sito è ancora accessibile tramite http://.
La mia soluzione temporanea è stata aggiungere questo blocco a app.yml:
(Sarei anche felice di capire come far sì che pups indenti correttamente le righe che ho inserito, ma mi sto dilungando.)
Qualche tempo dopo questa modifica, il controller Ingress sembra aver smesso di servire il sito, anche se sembrava funzionare e reindirizzare correttamente per un certo periodo.
Ovviamente si tratta di una unsupported-install, ma se qualcuno ha un’idea su dove guardare ora, ne sarei grato.
Stai utilizzando un load balancer HTTP o un load balancer TCP? Se è HTTP, il protocollo rilevato in ingresso potrebbe essere inserito in un’intestazione non standard che Discourse non sta cercando.
Grazie mille, @riking! Sì, sembra che il problema sia il bilanciatore di carico. Penso che ingress sia a posto (e ora ho un’idea della differenza). Ho passato alla configurazione che mostri tu e ottengo gli stessi risultati di una configurazione un po’ più complicata. Immagino che il prossimo passo sia capire tcpdump e vedere cosa c’è in quegli header…
EDIT: Sembra che dovrebbe funzionare. Ecco cosa vedo:
@pfaffman Potrei aiutarti con questo - sono su GCP e ho già risolto questo problema in passato. Sono impegnato per qualche ora, ma se puoi inviarmi la configurazione del tuo load balancer (insieme alle impostazioni di health check) qui o in privato, posso provare a individuare il problema.
Sì. Sembra che funzioni ora! Immagino di essere confuso riguardo alla porta magica 30182, ma suppongo che sia una sorta di magia di k8s che capirò un altro giorno.
Proverò il tuo blocco after_web_config:. Sembra un po’ più pulito rispetto a quello che stavo facendo.