当我登录在前端使用 Angular JS 并在 JBoss 服务器上运行的应用程序的 URL 时,JS 和 CSS 文件正在加载,状态为 200,但我仍然遇到以下错误,文件没有被执行,我有出于隐私目的,将原始 URL 替换为文本 URL:
在 Chrome 浏览器中:
Refused to apply style from 'URL/bootstrap-glyphicons.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
Refused to execute script from 'URL/angular.min.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
在火狐浏览器中:
The resource from “URL/bootstrap.min.css” was blocked due to MIME type (“text/html”) mismatch (X-Content-Type-Options: nosniff).
The resource from “URL/angular-route.min.js” was blocked due to MIME type (“text/html”) mismatch (X-Content-Type-Options: nosniff).
我们在 URL 和设置标头的应用服务器之间使用 Web 服务器。设置了标头 X-Content-Type-Options: nosniff。我在应用程序服务器级别找不到与此相关的任何设置。我无法理解为什么 MIME 类型以 text/html 返回。我检查了“网络”选项卡中的每个资源,内容类型有时显示为 application/javascript; JS 文件的 charset=UTF-8,有时显示为 text/html;字符集=UTF-8
请检查文件路径是否正确并且文件是否存在,在我的情况下这就是问题所在,当我修复它并且错误消失时。 希望它也对你有用。
我找不到问题的根源,但我知道问题是因为在应用程序服务器前面使用了 L4 负载均衡器。
我们将 L4 更改为 L7,问题得到解决。我不确定为什么 L4 负载均衡器会导致此问题。
如果有人知道此问题的根本原因,请告诉我。