Content Security Policy: le impostazioni della pagina hanno bloccato il caricamento di una risorsa ("script-src")

Ciao, ho configurato discourse tramite Docker, ma compare solo l’errore menzionato nel titolo.

Quale metodo di installazione hai utilizzato e cos’hai configurato oltre al processo di installazione principale?

1 Mi Piace

Ho configurato le immagini una volta singolarmente e tramite docker-compose! Tuttavia, l’errore persiste!

In che modo dovrei essere in grado di aver configurato qualcos’altro?

Temo che queste non siano informazioni sufficienti per offrire consigli. Hai seguito la guida all’installazione standard?

Se potessi includere alcuni dettagli sulla tua configurazione, esattamente come hai installato Discourse e qualsiasi altra cosa tu possa aver fatto, le persone potrebbero essere in grado di offrirti alcune intuizioni. :+1:

2 Mi Piace

Se hai usato docker-compose, allora non si tratta di un’installazione standard. Forse hai usato bitnami (che non è supportato qui)? Se riesci ad accedere all’admin/impostazioni, potresti essere in grado di aggiungere qualsiasi dominio a cui quel qualcosa sta cercando di fare riferimento se cerchi nelle impostazioni “content security”.

Perché questo è forzato sulle porte 80 e 443?

@pfaffman

Posso cambiare questo?

Non lo so. Chiaramente non hai un’installazione standard e non hai spiegato come hai installato.

Non so cosa stia forzando cosa sulla porta 80 e 443.

Se vuoi un buon aiuto, dovresti usare un’installazione standard. Se vuoi un qualsiasi aiuto, dovrai dire di più su come hai installato.

Bene, uso l’installazione standard, che forza le porte 80 e 443.

Quindi non hai usato docker-compose?

Sì, l’installazione standard richiede le porte 80 e 443 e attiva https e force_https. Non dovresti avere il problema che descrivi se hai eseguito un’installazione standard.

Hai eseguito discourse-setup per installare?

Il fatto è che voglio eseguire discourse su altre porte e includerlo nel mio Apache2 tramite reverse proxy…

Forse se dici come hai installato, qualcun altro potrà aiutarti. Forse ti interessa Configurare Discourse su un server con siti Apache esistenti.

L’ho già detto! Riguardo all’installazione standard!!!

Certo che puoi. Dovresti esporre ad esempio - "83:80" su app.yml, o qualunque porta il tuo reverse proxy utilizzi per inviare traffico al backend. Oppure puoi usare websocket.

Vuoi usare un reverse proxy che non è un’installazione standard.

L’ho fatto, ma il sito non è accessibile

Allora le tue impostazioni sono sbagliate. Cosa sia un problema è quasi impossibile da indovinare. Non usare CSP, quella sarebbe la prima mossa. Ma sono entrambi, Apache2 e Discourse, sullo stesso server? La tua configurazione di Apache2 è corretta? Ecc., ecc.

Di nuovo, come detto, non stai usando un’installazione standard.

Non posso usare l’installazione standard! Mi dispiace, ma cosa c’è di così difficile da capire? Ho già Apache2 in esecuzione e non vedo l’utilità di spegnerlo solo perché Discourse non pensa che sia abbastanza flessibile da usare altre porte.

Questo è il problema con tutta la faccenda

La mia configurazione Apache2:

<VirtualHost *:80>
    ServerName <domain>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    RewriteEngine on
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>

<VirtualHost *:443>
    ServerName <domain>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    SSLEngine On
    SSLCertificateFile    /etc/letsencrypt/live/<domain>/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/<domain>/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/<domain>/fullchain.pem

    ProxyPass / http://127.0.0.1:90/
    ProxyPassReverse / http://127.0.0.1:90/
</VirtualHost>

app.yml:

expose:
  - "90:80"   # http
  - "100:443" # https

Forse non è così difficile capire che ricevi supporto dal team solo per installazioni standard. Ecco perché devi sperare che qualcuno di noi, membri ordinari, possa aiutarti.

E dato che non dici nulla, è un compito un po’ difficile. Non possiamo indovinare se la tua configurazione è corretta o se hai indirizzato alla porta giusta in app.yml. Non sappiamo assolutamente nulla della tua configurazione.

Certo che lo è. Usare un reverse proxy davanti a Discourse è abbastanza banale, almeno al di fuori di Docker. Devi solo esporre le porte giuste o usare websocket, se questi due sono sullo stesso server.

L’hai fatto? Non lo so e le mie carte non lo dicono :wink:

E ancora: se CSP è un problema, non usarlo finché non capisci cosa sta combattendo.

1 Mi Piace