我有一个express带有静态文件的Web服务器.我们称之为我的express-deployment.
我想用我ingress-nginx的服务来提供我的静态文件,express-deployment而不是真的打我的快递服务器.
在nginx此与做location,你指向本地宿主文件的指令.当我看到一个选项locations-snippet中ingress-nginx configMap,我不完全知道我怎么会有这一点上的文件在另一个容器.
这有可能ingress-nginx吗?如果是这样我怎么去呢?或者,这是否需要在我的快递服务器旁边托管nginx容器?(似乎很奇怪,我需要2个nginx)
我有一个ingress-nginx控制器处理流量到我在KKE上托管的Kubernetes集群.我使用docs中的helm安装说明进行设置:
在大多数情况下,一切都正常,但如果我尝试通过server-snippet注释设置缓存相关参数,那么应该获得缓存控制头的所有服务内容都会返回404.
这是我的ingress-service.yaml档案:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-service
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/proxy-read-timeout: "4000"
nginx.ingress.kubernetes.io/proxy-send-timeout: "4000"
nginx.ingress.kubernetes.io/server-snippet: |
location ~* \.(js|css|gif|jpe?g|png)$ {
expires 1M;
add_header Cache-Control "public";
}
spec:
tls:
- hosts:
- example.com
secretName: example-com
rules:
- host: example.com
http:
paths:
- path: /
backend:
serviceName: client-cluster-ip-service
servicePort: 5000
- path: /api/
backend:
serviceName: server-cluster-ip-service
servicePort: 4000
Run Code Online (Sandbox Code Playgroud)
同样,它只是与正则表达式匹配的资源404(所有.js文件,.css文件等).
有关为什么会发生这种情况的任何想法?
任何帮助表示赞赏!
nginx kubernetes google-kubernetes-engine kubernetes-ingress nginx-ingress