Contenido mixto: La página en '\u003cURL\u003e' se cargó a través de HTTPS, pero solicitó una fuente insegura '\u003cURL\u003e'. Esta solicitud ha sido bloqueada; el contenido debe servirse a través de HTTPS
Y 40 solicitudes de fuentes del gem discourse-fonts. Esta es una instalación nueva donde Postgres y Redis se ejecutan en un servidor separado dentro de la red local y la conexión está “socketed” pero se sirve al exterior a través de https, por supuesto. Hay hilossimilares pero ninguna respuesta clara para mí. La verificación de CSS apunta a wizard.scss (con mapeo de origen). ¿Alguna pista?
Lo más probable es que no. ¿Dónde lo configuro? ¿Y por qué debería ser necesario en primer lugar en lugar de que la solicitud CSS de recursos estáticos a través de https o referencias relativas?
FWIW: en el servidor web externo tengo la típica configuración 301.
Bueno, yo tampoco. No modifiqué nada. Solo el launcher build app habitual. Estas URL parecen estar en el CSS procesado, que obviamente no toqué (ni el scss) de ninguna manera. Tampoco encontré nada relacionado con https en el app.yml, así que… no sé. El force_https parece solucionar el problema.
Depende de cómo definamos “necesario”. Actualmente podría ser necesario solucionar el problema real, que es que los archivos CSS compilados hacen referencia a activos estáticos explícitamente usando el esquema http. Pero en mi opinión, esto no debería ser necesario a largo plazo.
Necesario, ya que es el propósito de FORCE_HTTPS: así es como le dices a Discourse que se está sirviendo de forma segura y que reescriba los enlaces en consecuencia.
En este caso, si habilitas force_https, terminarás con todos los errores de URL de activos R_SSL_PROTOCOL_ERROR si el dominio solicitado no tiene un certificado instalado. Luego, para evitar eso, instalas un certificado para resolver el problema del protocolo SSL.
Si en su lugar instalas Discourse con la plantilla anterior descomentada, la URL de los activos del sitio debería ser HTTPS junto con el protocolo de la URL base de tu sitio. Y además, force https es invisible en la interfaz de administración.
Como se mencionó en la publicación original, en mi caso el certificado y todo es correcto y válido, pero todas las conexiones al exterior son manejadas por un proxy inverso (nginx, obviamente ;-)), mientras que la conexión a Discourse se realiza a través de un socket Unix. Esto significa que tengo templates/web.socketed.template.yml
en lugar de cualquiera de los que mencionas. Aun así, esto no debería hacer que las URL estáticas tengan un esquema http: explícito codificado.