由于混合内容,Chrome正在屏蔽HTTP文件。我已将Content-Security-Policy添加到标题中,但仍无效。
这是我在C#中构建的:
过滤器:
public class ContentSecurityPolicyFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var response = filterContext.HttpContext.Response;
response.AddHeader("Content-Security-Policy", "default-src *; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'; img-src * data: 'unsafe-inline'; connect-src * 'unsafe-inline'; frame-src *;");
base.OnActionExecuting(filterContext);
}
}
控制器:
public class MyController
{
[ContentSecurityPolicyFilter]
public ActionResult MyAction(int? id)
{
// code...
return View("Preview", model);
}
}
然后控制台说:
混合内容:' https://local.dev/MyController/MyAction'是通过HTTPS加载的,但请求了一个不安全的脚本' http://www.clientUrl.com/wp-content/themes/market/js/custom.js'。此请求已被阻止;内容必须通过HTTPS提供。
有什么想法吗?基本上,我想允许iframe呈现HTTP网站。我期待在控制台中看到警告而不是错误。