单域名多前端组件集成方式

多个前端项目部署在同一域名时,静态资源路径易冲突。解决方法:构建阶段为各项目设置独立的 publicPath 或 base(如 Vite 的 base: '/shop/'),使资源请求带上前缀;部署层再按 URL 前缀转发。Nginx 可使用 location + alias + try_files 将 /shop/、/user/、/report/ 等分别映射到对应前端目录,并配置默认跳转;Kubernetes Ingress 也可通过 path 区分后端服务,并能用 server-snippet 将 API 前缀重写转发到 Java 服务。这样可避免资源互相覆盖,实现多项目同域共存。

单域名多前端组件集成方式

Kubernetes构建指南:ingress-nginx配置与实践

本文介绍了在 Kubernetes 集群中部署 ingress-nginx v1.3.1 的流程与关键配置:需将 externalTrafficPolicy 改为 Cluster,服务类型设为 LoadBalancer 以搭配 MetalLB/OpenELB;并提供了国内镜像源 YAML。同时展示如何通过 server-snippet 实现临时维护页面,在不停止服务的情况下拦截外部流量。文章重点解释了 ingress-nginx 默认禁止 snippet 注解的原因——安全风险高、存在 CVE 漏洞历史、多租户场景下可能越权;但实际业务常需自定义 header、特殊 rewrite、缓存/限流等官方注解未覆盖的功能。解决方案是由集群管理员显式启用 allow-snippet-annotations 并设置 annotations-risk-level,或关闭 Admission 校验,在安全与灵活性间取得平衡。读者可据此安全、合规地使用 snippet 扩展 Ingress 能力。

Kubernetes构建指南:ingress-nginx配置与实践

ingress-nginx 性能优化

访问网页时部分资源无法加载,控制台报错`net::ERR_HTTP2_SERVER_REFUSED_STREAM`或`net::ERR_FAILED`。排查发现,前端打包错误产生数百上千个JS文件,单页加载请求数接近上千,资源并行请求数达到HTTP2最大流数限制。解决方案有两种:在ConfigMap中调大`http2-max-concurrent-streams`(默认128),或设置`use-http2`为false关闭HTTP2。文章还给出nginx ingress性能优化配置:`keep-alive-requests`调至10000,`upstream-keepalive-connections`调至2000,`max-worker-connections`调至65536,以应对高并发场景,减少频繁建联和TIME_WAIT飙升。

ingress-nginx 性能优化
弹