我使用Docker打包Angular项目(容器使用Nginx)。在Docker上运行时,图像显示正常,但在使用Ingress部署到Kubernetes时,assets
文件夹中的所有图像都不会出现。
在Docker上运行的Content-Type。没关系:
但是在Kubernetes上运行时。内容类型始终为text / html:
Config Ingress 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
尝试添加注释:
你在使用nginx ingress吗?
nginx.ingress.kubernetes.io/rewrite-target: /
在你的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;
}
}