我使用Docker打包Angular项目(容器使用Nginx)。在Docker上运行时,图像显示正常,但是在使用Ingress部署到Kubernetes时,assets
文件夹中的所有图像均不会出现。
在Docker上运行的Content-Type。可以:
但是在Kubernetes上运行时。内容类型始终为text / html:
配置入口Kubernetes。服务名称ssite
。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: abc-ingress
annotations:
kubernetes.io/ingress.global-static-ip-name: "swing-static-ip"
ingress.kubernetes.io/force-ssl-redirect: "true"
ingress.gcp.kubernetes.io/pre-shared-cert: "abc,xyz"
spec:
rules:
- host: abc.com
http:
paths:
- backend:
serviceName: sservice
servicePort: 8000
- host: xyz.com
http:
paths:
- path : /
backend:
serviceName: ssite
servicePort: 80
- path : /*
backend:
serviceName: ssite
servicePort: 80
答案 0 :(得分:0)
尝试添加注释:
您是否正在使用nginx入口?
nginx.ingress.kubernetes.io/rewrite-target: /
答案 1 :(得分:0)
在您的nginx配置集中default_type指令
定义响应的默认MIME类型。文件名映射 可以使用types指令设置MIME类型的扩展名。
server {
...
default_type text/html;
location /assets/imgs {
default_type image/png;
}
location /assets/imgs {
default_type image/jpeg;
}
}