Doccano: Las solicitudes XHR siempre realizadas a través de http dan como resultado un problema de contenido mixto

Creado en 5 ago. 2019  ·  3Comentarios  ·  Fuente: doccano/doccano

Estoy sirviendo doccano internamente a través de https . Cuando solía servirlo a través de http todo funcionaba bien, pero cuando cambié a https e intento anotar nuevas páginas de datos, aparece este error en la consola.
Parece que las solicitudes xhr siempre se realizan a través de http, por lo que el contenido está bloqueado de forma predeterminada.
¿Puede asegurarse de que el código pueda funcionar con ambos protocolos?

document_classification.js:1 Mixed Content: The page at 'https://doccano.example.com/projects/4/#' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://doccano.example.com/v1/projects/4/docs?doc_annotations__isnull=&limit=5&offset=5&q='. This request has been blocked; the content must be served over HTTPS.
(anonymous) @ document_classification.js:1
e.exports @ document_classification.js:1
e.exports @ document_classification.js:1
Promise.then (async)
s.request @ document_classification.js:1
s.<computed> @ document_classification.js:1
(anonymous) @ document_classification.js:1
search @ document_classification.js:8
nextPage @ document_classification.js:8
t @ document_classification.js:14
Pr.t._withTask.o._withTask @ document_classification.js:14
document_classification.js:1 Uncaught (in promise) Error: Network Error
    at e.exports (document_classification.js:1)
    at XMLHttpRequest.d.onerror (document_classification.js:1)
question

Comentario más útil

@ armanrahman22 y @fnocera están trabajando en una solicitud de extracción que implementa el segundo enfoque que mencioné anteriormente. La solución debería estar lista pronto.

Todos 3 comentarios

Parece que la recuperación que está causando el problema es un enlace de paginación de Django Rest Framework y que el servidor Django no sabe que está alojado detrás de HTTPS. Es posible que deba configurar SECURE_PROXY_SSL_HEADER para que https del lado del cliente funcione con la paginación (cambio de configuración).

Alternativamente, también es posible posprocesar las URL que recibimos en Vue desde la paginación DRF y siempre usar el origen de la interfaz para realizar la solicitud en lugar del origen explícito especificado en el enlace (cambio de código).

@ armanrahman22 y @fnocera están trabajando en una solicitud de extracción que implementa el segundo enfoque que mencioné anteriormente. La solución debería estar lista pronto.

https://github.com/chakki-works/doccano/pull/328 corrige el problema de contenido mixto.

¿Fue útil esta página
0 / 5 - 0 calificaciones