Мой сайт на основе https (сайт A) использует образы с http-сайта B. Я вызываю ошибку смешанного содержимого. Чтобы исправить это, я нашел решение поменять каждую внешнюю ссылку, например http://www.siteB.com/imageX.png, с моим методом контроллера, который пересылает внешнее изображение. Новый формат ссылки:Изображения с http сайта на сайте https: смешанный режим
код метода /api/misc/forward
заключается в следующем:
[HttpGet]
public async Task<HttpResponseMessage> Forward(string url)
{
HttpResponseMessage httpResponseMessage = new HttpResponseMessage();
try
{
var response = Request.CreateResponse(HttpStatusCode.Found);
response.Headers.Location = new Uri(HttpUtility.UrlDecode(url));
return response;
}
catch (Exception ex)
{
httpResponseMessage.StatusCode = HttpStatusCode.NotFound;
_loggerService.LogException(ex, url);
}
return httpResponseMessage;
}
но браузер все еще находится в состоянии распознать его как смешанный режим .... Почему? Исходные ссылки изображений, отправленные в исходники браузера с сайта на основе https.
Какой-нибудь быстрый совет для этого? Я не хочу кэшировать все изображения с сайта B :).
Да, я сделал это в первом решении с кешем памяти, но я был уверен, что это замедлит работу сервера, поэтому я решил изменить его :). После некоторых изменений я подумал, что новая версия сработала, но она didnt :( –
Вы можете записать файлы в каталог temp и выполнить его позже с жесткого диска напрямую, также вы можете установить выходное кэширование для его сокращения количества обращений в Интернете сервер, браузер будет кэшировать его и не будет запрашивать его с сервера вообще. Это должно устранить любую нагрузку на веб-сервер –