Доступ к содержимому HTTP с сервера HTTPS || HTTP-запрос заблокирован - PullRequest
0 голосов
/ 24 марта 2020

Мое Django приложение в настоящее время работает на HTTPS на сервере. Недавно я добавил новую функциональность, для которой у него есть доступ к другой ссылке, чтобы получить JSON объект , который HTTP ссылка.

Работает нормально на локальном хосте, но когда Я развернул его на сервере, он показывает следующую ошибку:

Site was loaded over HTTPS, but requested an insecure resource http link. This request has been blocked; the content must be served over HTTPS.

Может кто-нибудь, пожалуйста, предложить обходной путь, чтобы обойти это так, чтобы новые функции работали гладкой.

1 Ответ

1 голос
/ 25 марта 2020

Эта ошибка возникает из браузера, поэтому вы не можете сопоставить ее на стороне сервера.

Проще всего было бы включить https для этих внешних ресурсов, если у вас есть контроль над этим.

Следующим обходным решением будет добавление прокси для ваших ресурсов http и создание этого прокси https. Например, вы можете добавить простой nginx сервер с proxy_pass к вашему http-серверу и добавить https на этом прокси nginx.

Обратите внимание, что если этот JSON, о котором вы говорите, содержит что-либо чувствительно, с точки зрения безопасности, вы действительно должны обслуживать его через https, а не через прокси-обход, который я описал выше. Если ничего не чувствительно, обходной путь может быть в порядке.

Поскольку у вас есть контроль над вашим http-сервером, просто разрешите прокси-сервер ssl на nginx с конфигурацией, которая может выглядеть примерно так:

server {
  listen 443;
  server_name my.host.name;
  ssl_certificate       /path/to/cert;
  ssl_certificate_key   /path/to/key;

  location / {
    proxy_pass http://localhost:80;
  }
}

Обратите внимание: если вы используете что-то вроде AWS / GCP / Azure - вы можете сделать это на стороне балансировщика нагрузки вместо nginx. В противном случае вы можете использовать letsencrypt для получения действительного сертификата и выполнить автоматическую настройку nginx для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...