Doccano: As solicitações XHR sempre feitas via http resultam em problemas de conteúdo misto

Criado em 5 ago. 2019  ·  3Comentários  ·  Fonte: doccano/doccano

Estou servindo doccano internamente por meio de https . Quando costumava servir via http tudo funcionava bem, mas quando mudei para https e tento anotar novas páginas de dados, recebo este erro no console.
Parece que as solicitações xhr estão sempre sendo feitas via http, então o conteúdo é bloqueado por padrão.
Você pode garantir que o código funcione com os dois 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

Comentários muito úteis

@ armanrahman22 e @fnocera estão trabalhando em uma solicitação pull que implementa a segunda abordagem que mencionei acima. A correção deve estar pronta em breve.

Todos 3 comentários

Parece que a busca que está causando o problema é um link de paginação do Django Rest Framework e que o servidor Django não sabe que está hospedado atrás de HTTPS. Você pode ter que definir o SECURE_PROXY_SSL_HEADER para que https do lado do cliente funcione com paginação (alteração de configuração).

Alternativamente, também é possível pós-processar os URLs que recebemos no Vue da paginação DRF e sempre usar a origem do frontend para fazer a solicitação, em vez da origem explícita especificada no link (alteração do código).

@ armanrahman22 e @fnocera estão trabalhando em uma solicitação pull que implementa a segunda abordagem que mencionei acima. A correção deve estar pronta em breve.

https://github.com/chakki-works/doccano/pull/328 corrige o problema de conteúdo misto.

Esta página foi útil?
0 / 5 - 0 avaliações