This request has been blocked; the content must be served over HTTPS
来源:本站原创
点击数: 次
发布时间:2025年02月14日
问题描述:在本地服务器上使用 HTTPS 访问时,可以在后台修改文章;而外网访问修改文章则出现异常,报错如下:
This request has been blocked; the content must be served over HTTPS.
问题分析:
在本地使用 HTTPS 访问网站时,它通常会使用 localhost 或 127.0.0.1 这种本地地址。浏览器会认为这种请求是在受信任的环境下进行的,所以即使你的页面中包含不安全的(HTTP)资源,浏览器也可能允许它们加载(例如不触发混合内容警告)。
然而,当你在外网(例如,通过域名或公网 IP)访问同一个网站时,情况就不同了。外网访问时,如果你没有使用 Content-Security-Policy (CSP) 来强制 HTTPS 请求,或者没有通过服务器正确配置 HTTPS 资源加载,浏览器会检测到混合内容并阻止这些不安全的请求。
解决方案:
为解决该问题,已通过在 IIS 中添加 <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> 来强制浏览器将所有 HTTP 请求升级为 HTTPS。此配置通常在 IIS 上设置,也可以通过修改代码或在某些安全软件中设置 CSP 来进行处理。