Ciao
Vorrei fare dei test su Discourse senza necessariamente passare per il suo nome di dominio pubblico configurato. Ad esempio, se Discourse è stato installato e configurato come https://uat.mysite.com, posso ovviamente aprire il mio browser e navigare su https://uat.mysite.com, il che significa che il mio browser uscirà dalla mia rete interna verso Internet pubblico per risolvere il nome di dominio al suo indirizzo IP pubblico e caricare le pagine tramite il suo indirizzo IP pubblico.
Ho appena provato a navigare su Discourse tramite l’indirizzo IP interno del server (ad esempio 192.168.1.2 mostrato di seguito) e giustamente non si carica a causa della Content Security Policy. Gli errori che sto ricevendo sono del seguente tipo.
Refused to load the script 'http://192.168.1.2:12000/assets/locales/en-a9c88e45eb548bd7c807aecfd37d218891e213b5c1fd254857e0f16c72d73996.js' because it violates the following Content Security Policy directive: "script-src http://uat.mysite.com/logs/ http://uat.mysite.com/sidekiq/ http://uat.mysite.com/mini-profiler-resources/ http://uat.mysite.com/assets/ http://uat.mysite.com/brotli_asset/ http://uat.mysite.com/extra-locales/ http://uat.mysite.com/highlight_js/ http://uat.mysite.com/javascripts/ http://uat.mysite.com/plugins/ http://uat.mysite.com/theme-javascripts/ http://uat.mysite.com/svg-sprite/ 'sha256-rwfDVOTzygQmkOwFNAeX564B66beHoel4+gRLgQUgHg='". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.
--------------------------------------------
| |
------------
uat.mysite.com risolve a 98.1.2.3 --> | IP Pubblico | Server che esegue Discourse. |
| 96.1.2.3. |
------------ |
| |
| ---------------- |
| | IP Privato | |
| | 192.168.1.2 | |
--------------------------------------------
^
|
192.168.1.2 ------------------------------------------------------------
Il motivo per cui vorrei accedere a Discourse tramite l’IP interno del server è perché voglio fare dei test. Ad esempio, se voglio fare dei test di caricamento, non voglio necessariamente caricare la rete che serve Internet. Oppure, se voglio installare un’istanza di test sul mio laptop o su un server di build senza necessariamente configurare il DNS.
Suppongo di poter sempre sovrascrivere questo impostando una voce personalizzata in /etc/hosts, ma c’è un modo per disabilitare CSP o impostarlo per fidarsi di altre origini per consentire i test?