Sto riscontrando un errore strano relativo al mixed content quando serve Discourse su un droplet di DigitalOcean:
DigitalOcean / Cloudflare gestisce la parte SSL, quindi questa non è configurata tramite Discourse o un reverse proxy basato su nginx. nginx inoltra semplicemente le richieste in arrivo al contenitore Docker in esecuzione con Discourse:
server {
listen 80; listen [::]:80;
server_name mysite.org;
location / {
proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
}
Tutte le risorse sembrano essere caricate correttamente via HTTPS, tranne questo singolo file. Inserendo l’app e cercando nel database PostgreSQL, ho scoperto che il file che causa il problema è /images/discours.png. Ho provato a eliminare questo file e tutti i riferimenti ad esso nel database PostgreSQL nel tentativo di evitare completamente il caricamento di questa immagine, ma ovviamente Discourse aggiunge di nuovo l’immagine quando ricompila l’app (almeno, presumo lo faccia).
Spero che qualcuno possa dare qualche consiglio.
