9Mixed Content: The page at '<URL>' was loaded over HTTPS, but requested an insecure script '<URL>'. This request has been blocked; the content must be served over HTTPS.
时间: 2023-07-22 22:53:57 浏览: 240
这是一个浏览器的安全提示,意思是在一个通过 HTTPS 加密传输的页面中,有一个 HTTP 链接的请求被阻止了。这是因为 HTTPS 是一种安全的传输协议,而 HTTP 不是,所以浏览器认为这种混合的传输方式可能存在安全风险,会自动阻止这种请求。要解决这个问题,可以将请求的链接修改为 HTTPS 链接,或者在服务器端配置 HTTPS。
相关问题
多个nginx报错9Mixed Content: The page at '<URL>' was loaded over HTTPS, but requested an insecure script '<URL>'. This request has been blocked; the content must be served over HTTPS.
这个错误提示是由于页面使用了 HTTPS 加密协议,但是请求的脚本却使用了 HTTP 协议,因此被浏览器拦截了。为了解决这个问题,你需要将所有的资源都改为使用 HTTPS 协议加载,包括脚本、样式、图片等等。如果你的资源是从外部加载的,需要确保这些外部资源的 URL 也使用了 HTTPS 协议。如果你使用了 Nginx 作为 Web 服务器,可以在配置文件中添加以下代码,将所有 HTTP 请求自动转为 HTTPS 请求:
```
server {
listen 80;
server_name yourdomain.com;
return 301 https://$server_name$request_uri;
}
```
这个配置将所有 HTTP 请求都自动重定向到 HTTPS 请求,确保你的网站使用的是安全的 HTTPS 协议。
nginx代理后报错9Mixed Content: The page at '<URL>' was loaded over HTTPS, but requested an insecure script '<URL>'. This request has been blocked; the content must be served over HTTPS.
这个错误通常出现在代理服务器将 HTTP 请求转发到 HTTPS 服务器时。当代理服务器收到 HTTP 请求后,会将其转发到 HTTPS 服务器,但是在转发时,如果请求中包含了 HTTP 链接,就会导致浏览器出现混合内容错误。
解决这个问题可以有两种方法:
1. 修改代理服务器配置,将 HTTP 请求转发到 HTTP 服务器,而不是 HTTPS 服务器。这样就不会出现混合内容错误了。
2. 将代理服务器配置为在转发请求时将 HTTP 链接修改为 HTTPS 链接。可以使用 nginx 的 sub_filter 模块来实现这个功能。具体的配置可以参考下面的示例:
```
location / {
proxy_pass https://example.com;
sub_filter 'http://' 'https://';
sub_filter_once off;
proxy_set_header Accept-Encoding "";
proxy_set_header Host $host;
}
```
这个配置会将请求中的所有 `http://` 链接替换成 `https://` 链接,并且在转发时禁用 Accept-Encoding 头部,防止出现压缩问题。
阅读全文