K8s部署前端应用后CSS样式加载不生效怎么办?
我在本地用Docker跑前端项目一切正常,但推到Kubernetes集群后,页面的CSS样式完全没加载,字体、布局都乱了。已经确认静态资源路径配置正确,也检查了Ingress转发规则。
这是我的关键CSS代码:
body {
font-family: 'Inter', sans-serif;
margin: 0;
padding: 20px;
background-color: #f8fafc;
}
.container {
max-width: 1200px;
margin: 0 auto;
}
浏览器Network面板显示CSS文件返回200,但内容居然是HTML?是不是Nginx配置有问题?
这种情况多发生在 Nginx 配置不当时。首先,检查一下你的 Nginx 配置文件,确保对静态资源(比如 CSS、JS 文件)的路径匹配没有问题。你可能需要添加类似这样的配置:
注意这里的
alias路径要指向你的静态文件存放的实际位置。location块应该匹配你的静态文件 URL 的前缀。其次,确保 Ingress 配置正确地将流量路由到 Nginx 服务,并且没有被其他规则拦截。检查 Ingress 的 annotations 和 rules,确保它们正确无误。
最后,重启 Nginx 服务和 Ingress 控制器以应用更改,有时候缓存也会捣乱,清理下缓存也是个不错的选择。
这样更清晰,希望这能解决你的问题。如果还是不行,再看看是否有其他中间件或服务干扰了静态资源的加载。