Эта ошибка возникает из браузера, поэтому вы не можете сопоставить ее на стороне сервера.
Проще всего было бы включить 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 для вас.