kubernetes基础知识之ingress默认错误后端

360影视 日韩动漫 2025-09-10 11:09 2

摘要:如果只采用默认页的话,那么404的错误,是捕获不到的。因为我们用后端真实的pod去响应请求了。对于nginx ingress来说,都认为是正常的访问,所以404页面需要单独去定义。

kubernetes ingress 可以在ingress中设置错误页面。

如果只采用默认页的话,那么404的错误,是捕获不到的。因为我们用后端真实的pod去响应请求了。对于nginx ingress来说,都认为是正常的访问,所以404页面需要单独去定义。

ingress annotations的nginx.ingress.kubernetes.io/server-snippet配置,是专门用于一些复杂的nginx配置。移动端和电脑端可以访问同一个域名转发到不同的服务。

需要编辑cm配置:

kubectl edit cm ingress-nginx-controller -n ingress-nginx

在data里面加入:

allow-snippet-annotations: "true"

touch ingress.yaml

vim ingress.yaml:

apiVersion: networking.k8s.io/v1

kind: Ingress

metadata:

name: snippet.87long.com

namespace: ingress-nginx

annotations:

nginx.ingress.kubernetes.io/server-snippet: |

set $agentflag 0;

if ($http_user_agent ~* "(Android|iPhone)") {

}

spec:

ingressClassName: nginx

rules:

- host: snippet.87long.com

paths:

- pathType: Prefix

path: "/"

backend:

service: nginx-service

port:

number: 80

kubectl create -f ingress.yaml

-H是指定头部信息,-I是只返回头部信息。

如果非Android或者iPhone的话,就会以默认的头部返回。

如果是Android或者IPhone的话,就会跳转到另外一个页面或者另外一个服务。

湖面

鼓励的话语:别让此刻的阴霾,遮住了你心中的阳光,和远方的风景!

来源:五行养生学

相关推荐