Content Security Policy: La configuración de la página ha bloqueado la carga de un recurso ("script-src")

Hola, he configurado Discourse a través de Docker, pero solo aparece el error mencionado en el título.

¿Qué método de instalación utilizó y qué ha configurado además del proceso de instalación principal?

1 me gusta

¡Una vez configuré las imágenes individualmente y a través de docker-compose! ¡Sin embargo, el error persiste!

¿De qué otra manera debería poder haber configurado algo?

Me temo que esta no es información suficiente para que la gente ofrezca consejos. ¿Seguiste la guía de instalación estándar?

Si pudieras incluir algunos detalles sobre tu configuración, exactamente cómo instalaste Discourse y cualquier otra cosa que hayas hecho, la gente podría ofrecerte algunas ideas. :+1:

2 Me gusta

Si usaste docker-compose, entonces no es una instalación estándar. ¿Quizás usaste bitnami (que no es compatible aquí)? Si puedes acceder a la administración/configuración, es posible que puedas agregar el dominio al que sea que esté intentando referirse si buscas en la configuración “content security”.

¿Por qué se fuerza esto en los puertos 80 y 443?

@pfaffman

¿Puedo cambiar esto?

No lo sé. Claramente no tienes una instalación estándar y no has explicado cómo instalaste.

No sé qué está forzando qué en los puertos 80 y 443.

Si quieres una buena ayuda, deberías usar una instalación estándar. Si quieres alguna ayuda, tendrás que decir más sobre cómo instalaste.

Bueno, uso la instalación estándar, que fuerza los puertos 80 y 443.

Entonces, ¿no usaste docker-compose?

Sí, la instalación estándar requiere los puertos 80 y 443 y activa https y force_https. No deberías tener el problema que describes si hiciste una instalación estándar.

¿Ejecutaste discourse-setup para instalar?

El caso es que quiero ejecutar discourse en otros puertos e incluirlo en mi Apache2 a través de proxy inverso…

Quizás si dices cómo lo instalaste, alguien más pueda ayudarte. Quizás quieras Configurar Discourse en un servidor con sitios Apache existentes.

¡Ya lo he dicho! ¡Sobre la instalación estándar!

Por supuesto que puedes. Deberías exponer, por ejemplo, - "83:80" en app.yml, o el puerto que sea que tu proxy inverso use para enviar tráfico al backend. O puedes usar websocket.

Quieres usar un proxy inverso que no es una instalación estándar.

Lo he hecho, pero el sitio no es accesible

Entonces tu configuración es incorrecta. Es casi imposible adivinar qué es un problema. No uses CSP, ese sería el primer paso. Pero, ¿están Apache2 y Discourse en el mismo servidor? ¿Tu configuración de Apache2 es correcta? Etc., etc.

Nuevamente, como se dijo, no usas una instalación estándar.

¡No puedo usar la instalación estándar! Lo siento, ¿pero qué hay de tan difícil de entender en eso? Ya tengo Apache2 en funcionamiento y no veo el sentido de apagarlo solo porque Discourse no cree que sea lo suficientemente flexible como para usar otros puertos.

Ese es el problema con todo el asunto

Mi Apache2 Conf:

<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

Quizás no sea tan difícil como entender que solo obtienes soporte del equipo para instalaciones estándar. Es por eso que tienes que esperar que alguien de nosotros, miembros ordinarios, pueda ayudarte.

Y como no dices nada, es una tarea un poco difícil. No podemos adivinar si tu configuración es correcta o si has dirigido al puerto correcto en app.yml. No sabemos absolutamente nada de tu configuración.

Por supuesto que lo es. Usar un proxy inverso delante de Discourse es bastante trivial, fuera de docker de todos modos. Solo tienes que exponer los puertos correctos o usar websocket, si esos dos están en el mismo servidor.

¿Lo has hecho? No lo sé y mis cartas no me lo dicen :wink:

Y de nuevo, si CSP es un problema, no lo uses hasta que averigües qué está luchando.

1 me gusta