
āĻāĻ āύāĻŋāĻŦāύā§āϧā§, āĻāĻŽāĻŋ āĻŦā§āϝāĻā§āϤāĻŋāĻāϤāĻā§āϤ āϤā§āϰā§āĻāĻŋ āĻĒā§āώā§āĻ āĻžāĻā§āϞāĻŋ āĻĒā§āϰāĻĻāϰā§āĻļāύā§āϰ āϏāĻžāĻĨā§ āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ NGINX āĻĒā§āϰāĻŦā§āĻļā§āϰ āĻĻā§āĻāĻŋ āĻŦā§āĻļāĻŋāώā§āĻā§āϝ, āϏā§āĻāϏāĻžāĻĨā§ āϤāĻžāĻĻā§āϰ āĻŽāϧā§āϝ⧠āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āϏā§āĻŽāĻžāĻŦāĻĻā§āϧāϤāĻž āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āĻāĻžāϰāĻĒāĻžāĻļā§ āĻāĻžāĻ āĻāϰāĻžāϰ āĻāĻĒāĻžāϝāĻŧ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻĨāĻž āĻŦāϞāϤ⧠āĻāĻžāĻāĨ¤
1. āĻĄāĻŋāĻĢāϞā§āĻ āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻž
āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§, NGINX Ingress āĻĄāĻŋāĻĢāϞā§āĻ āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§, āϝāĻž āϏāĻāĻļā§āϞāĻŋāώā§āĻ āĻĢāĻžāĻāĻļāύ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻāϰā§āĨ¤ āĻāϰ āĻŽāĻžāύ⧠āĻšāϞ āϝ⧠āϝāĻāύ āĻāύāĻā§āϰā§āϏ āϰāĻŋāϏā§āϰā§āϏ⧠āύā§āĻ āĻāĻŽāύ āĻāĻāĻāĻŋ āĻšā§āϏā§āĻ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāϰ⧠āĻāύāĻā§āϰā§āϏā§āϰ āĻ āύā§āϰā§āϧ āĻāϰāĻž āĻšāϝāĻŧ, āϤāĻāύ āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ 404 āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻā§āĻĄ āϏāĻš āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻĒā§āώā§āĻ āĻžāĻāĻŋ āĻĒāĻžāĻ:
![]()
āϝāĻžāĻāĻšā§āĻ, āĻĒā§āϰāĻžāϝāĻŧāĻļāĻ āĻāĻŽāĻžāĻĻā§āϰ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāϰāĻž āϤāĻžāĻĻā§āϰ āĻĒā§āώā§āĻ āĻžāĻāĻŋ āĻāĻāĻāĻŋ āĻāϰā§āĻĒā§āϰā§āĻ āϞā§āĻā§ āĻāĻŦāĻ āĻ
āύā§āϝāĻžāύā§āϝ āϏā§āϝā§āĻ-āϏā§āĻŦāĻŋāϧāĻž āϏāĻš āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ 404 āĻāϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠āĻĻā§āĻāĻžāύā§āϰ āĻ
āύā§āϰā§āϧ āύāĻŋāϝāĻŧā§ āĻāϏā§āĨ¤ āĻāĻāĻŋ āĻāϰāĻžāϰ āĻāύā§āϝ, NGINX āĻāύāĻā§āϰā§āϏ āĻāĻā§ āĻĒā§āύāϰāĻžāϝāĻŧ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰāĻž default-backend-service. āĻāĻŽāϰāĻž āĻāĻāĻ āύāĻžāĻŽā§āϰ āĻŦāĻŋāĻāϞā§āĻĒā§ āĻāĻāĻāĻŋ āϝā§āĻā§āϤāĻŋ āĻšāĻŋāϏāĻžāĻŦā§ āĻŦāĻŋāύā§āϝāĻžāϏ āĻāύā§āĻā§āϰāĻŋ āĻĒāĻžāϏ āĻāϰāĻŋ namespace/servicename. āĻĒāϰāĻŋāώā§āĻŦāĻžāϰ āĻĒā§āϰā§āĻ 80 āĻšāĻāϝāĻŧāĻž āĻāĻāĻŋāϤāĨ¤
āĻāĻāĻŋ āĻāϰāĻžāϰ āĻāύā§āϝ, āĻāĻĒāύāĻžāĻā§ āĻāĻĒāύāĻžāϰ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύā§āϰ āϏāĻžāĻĨā§ āĻāĻĒāύāĻžāϰ āύāĻŋāĻāϏā§āĻŦ āĻĒāĻĄ (āĻŦāĻŋāϝāĻŧā§āĻ) āĻāĻŦāĻ āĻĒāϰāĻŋāώā§āĻŦāĻž āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻšāĻŦā§ ( ingress-nginx āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞ āĻĨā§āĻā§), āϝāĻž āĻĄāĻŋāĻĢāϞā§āĻ āĻŦā§āϝāĻžāĻāĻāύā§āĻĄā§āϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠āĻĻā§āĻāϝāĻŧāĻž āĻšāĻŦā§āĨ¤
āĻāĻāĻžāύ⧠āĻāĻāĻāĻŋ āĻā§āĻ āĻĻā§āώā§āĻāĻžāύā§āϤ:
~$ curl -i -XGET http://sadsdasdas.kube-cloud.my/
HTTP/1.1 404 Not Found
Date: Mon, 11 Mar 2019 05:38:15 GMT
Content-Type: */*
Transfer-Encoding: chunked
Connection: keep-alive
<span>The page you're looking for could not be found.</span> āϤāĻžāĻ āϏāĻŽāϏā§āϤ āĻĄā§āĻŽā§āύ āϝāĻž āϏā§āĻĒāώā§āĻāĻāĻžāĻŦā§ YAML āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧ āύāĻž kind: Ingress, āĻĄāĻŋāĻĢāϞā§āĻ-āĻŦā§āϝāĻžāĻāĻāύā§āĻĄā§ āĻĒāĻĄāĻŧā§āĨ¤ āĻāĻĒāϰā§āϰ āϤāĻžāϞāĻŋāĻāĻžāϝāĻŧ, āĻāĻ āĻĄā§āĻŽā§āĻāύ āĻšāϝāĻŧā§ āĻā§āϞ sadsdasdas.
2. āĻĄāĻŋāĻĢāϞā§āĻ āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ⧠HTTP āϤā§āϰā§āĻāĻŋāĻā§āϞāĻŋ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāĻž
āĻāϰā§āĻāĻāĻŋ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋ āĻšāϞ HTTP āϤā§āϰā§āĻāĻŋāϰ (404, 500, 502...) āϏāĻŽāĻžāĻĒā§āϤāĻŋāϰ āĻ āύā§āϰā§āϧ āĻāĻŽāύ āĻāĻāĻāĻŋ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āϝāĻž āĻāĻ āϧāϰāύā§āϰ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋāϤ⧠āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻāϰ⧠āύāĻž (āϏāĻāĻļā§āϞāĻŋāώā§āĻ āϏā§āύā§āĻĻāϰ āĻĒā§āώā§āĻ āĻžāĻā§āϞāĻŋ āϤā§āϰāĻŋ āĻšāϝāĻŧ āύāĻž)āĨ¤ āĻāĻāĻŋ āĻāĻāĻžāϧāĻŋāĻ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ⧠āĻāĻāĻ āϤā§āϰā§āĻāĻŋ āĻĒā§āώā§āĻ āĻžāĻā§āϞāĻŋ āĻĒāϰāĻŋāĻŦā§āĻļāύ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĄā§āĻā§āϞāĻĒāĻžāϰāĻĻā§āϰ āĻāĻā§āĻāĻžāϰ āĻāĻžāϰāĻŖā§āĻ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤
āϏāĻžāϰā§āĻāĻžāϰ āϏāĻžāĻāĻĄā§ āĻāĻ āĻā§āϏāĻāĻŋ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāϰāϤ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύ:
- āĻĄāĻŋāĻĢāϞā§āĻ āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻ āύā§āĻā§āĻā§āĻĻ āĻĨā§āĻā§ āĻāĻĒāϰā§āϰ āύāĻŋāϰā§āĻĻā§āĻļāĻžāĻŦāϞ⧠āĻ āύā§āϏāϰāĻŖ āĻāϰā§āύ;
- nginx-ingress āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ ConfigMap-āĻ āĻāĻāĻāĻŋ āĻā§ āϝā§āĻ āĻāϰā§āύ
custom-http-errors, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻŽāĻžāύ āϏāĻš404,503(āĻ āĻŦāĻļā§āϝāĻ āύāϤā§āύ āύāĻŋāϝāĻŧāĻŽ āĻĻā§āĻŦāĻžāϰāĻž āĻāĻā§āĻāĻžāĻĻāĻŋāϤ āϤā§āϰā§āĻāĻŋ āĻā§āĻĄāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āĻŽāĻŋāϞ⧠āϝāĻžāϝāĻŧ)āĨ¤
āĻĒā§āϰāϤā§āϝāĻžāĻļāĻŋāϤ āĻĢāϞāĻžāĻĢāϞ āĻ āϰā§āĻāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§: āϝāĻāύ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āĻāϞāĻā§ āĻāĻŦāĻ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻā§āĻĄ 404 āĻŦāĻž 503 āϏāĻš āĻāĻāĻāĻŋ āϤā§āϰā§āĻāĻŋ āĻĒāĻžāϝāĻŧ, āϤāĻāύ āĻ āύā§āϰā§āϧāĻāĻŋ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āύāϤā§āύ āĻĄāĻŋāĻĢāϞā§āĻ āĻŦā§āϝāĻžāĻāĻāύā§āĻĄā§ āĻĒā§āύāĻāύāĻŋāϰā§āĻĻā§āĻļāĻŋāϤ āĻšāĻŦā§...
āϝāĻžāĻāĻšā§āĻ, āĻĄāĻŋāĻĢāϞā§āĻ āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āĻāĻŦāĻ āĻāĻžāϏā§āĻāĻŽ-http-āϤā§āϰā§āĻāĻŋāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āĻŦāĻŋāĻāĻžāĻļ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ, āĻāĻĒāύāĻžāĻā§ āĻāĻāĻāĻŋ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āĻŦā§āĻļāĻŋāώā§āĻā§āϝ āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰāϤ⧠āĻšāĻŦā§:
!!! Important The custom backend is expected to return the correct HTTP status code instead of 200. NGINX does not change the response from the custom default backend.āĻāϏāϞ āĻŦāĻŋāώāϝāĻŧāĻāĻŋ āĻšāϞ āϝ⧠āϝāĻāύ āĻāĻāĻāĻŋ āĻ āύā§āϰā§āϧ āĻĒā§āύāϰā§āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰāĻž āĻšāϝāĻŧ, āϤāĻāύ āĻļāĻŋāϰā§āύāĻžāĻŽāĻā§āϞāĻŋāϤ⧠āĻĒā§āϰā§āĻŦāĻŦāϰā§āϤ⧠āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻā§āĻĄ āĻāĻŦāĻ āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āϤāĻĨā§āϝ āϏāĻš āĻĻāϰāĻāĻžāϰ⧠āϤāĻĨā§āϝ āĻĨāĻžāĻāĻŦā§ (āϤāĻžāĻĻā§āϰ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āϤāĻžāϞāĻŋāĻāĻž āĻāĻĒāϞāĻŦā§āϧ ).
āĻāϰ āĻŽāĻžāύ⧠āĻšāϞ āϝ⧠āĻāĻĒāύāĻŋ āύāĻŋāĻā§āĻ āϏāĻ āĻŋāĻ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻā§āĻĄ āϝāϤā§āύ āύāĻŋāύ. āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻĨā§āĻā§ āĻāĻāĻž āĻāĻŋāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰā§āĨ¤
āĻŦāĻŋāĻāĻŋāύā§āύ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύā§āϰ āĻŦāĻŋāĻāĻŋāύā§āύ āĻĄāĻŋāĻĢāϞā§āĻ āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āĻĨāĻžāĻā§
āϏāĻŽāĻžāϧāĻžāύāĻāĻŋ āϏāĻŽāĻā§āϰ āĻā§āϞāĻžāϏā§āĻāĻžāϰā§āϰ āĻāύā§āϝ āĻŦāĻŋāĻļā§āĻŦāĻŦā§āϝāĻžāĻĒā§ āύāϝāĻŧ, āϤāĻŦā§ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻā§āϞāĻŋāϤ⧠āĻĒā§āϰāϝā§āĻā§āϝ āϤāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāϤā§, āĻāĻĒāύāĻžāĻā§ āĻĒā§āϰāĻĨāĻŽā§ āĻāύāĻā§āϰā§āϏ āϏāĻāϏā§āĻāϰāĻŖāĻāĻŋ āĻĒāϰā§āĻā§āώāĻž āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āϝāĻĻāĻŋ āĻŽā§āϞ⧠0.23 āĻŦāĻž āϤāĻžāϰ āĻŦā§āĻļāĻŋ, āύā§āĻāĻŋāĻ āĻāύāĻā§āϰā§āϏ āĻā§āĻāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ:
- āĻāĻŽāϰāĻž āĻāĻāĻžāϰāϰāĻžāĻāĻĄ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ
default-backendāĻĨā§āĻā§ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāύāĻā§āϰā§āϏ āĻāϰ ; - āĻāĻŽāϰāĻž āĻāĻāĻžāϰāϰāĻžāĻāĻĄ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ
custom-http-errorsāĻĨā§āĻā§ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāύāĻā§āϰā§āϏ āĻāϰ .
āĻĢāϞāϏā§āĻŦāϰā§āĻĒ, āĻāύāĻā§āϰā§āϏ āϰāĻŋāϏā§āϰā§āϏāĻāĻŋ āĻāĻāϰāĻāĻŽ āĻāĻŋāĻā§ āĻĻā§āĻāĻžāĻŦā§:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: {{ .Chart.Name }}-app2
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/custom-http-errors: "404,502"
nginx.ingress.kubernetes.io/default-backend: error-pages
spec:
tls:
- hosts:
- app2.example.com
secretName: wildcard-tls
rules:
- host: app2.example.com
http:
paths:
- path: /
backend:
serviceName: {{ .Chart.Name }}-app2
servicePort: 80āĻāĻ āĻā§āώā§āϤā§āϰā§, āϤā§āϰā§āĻāĻŋ 404 āĻāĻŦāĻ 502 āϏāĻŽāϏā§āϤ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻļāĻŋāϰā§āύāĻžāĻŽ āϏāĻš āϤā§āϰā§āĻāĻŋ-āĻĒā§āώā§āĻ āĻž āĻĒāϰāĻŋāώā§āĻŦāĻžāϤ⧠āĻĒā§āύāĻāύāĻŋāϰā§āĻĻā§āĻļāĻŋāϤ āĻšāĻŦā§āĨ¤
Đ Ingress āĻāϰ āĻĒā§āϰā§āĻŦāĻŦāϰā§āϤ⧠āϏāĻāϏā§āĻāϰāĻŖāĻā§āϞāĻŋāϤ⧠āĻāĻ āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻāĻŋ āĻāĻŋāϞ āύāĻž () āĻāĻŦāĻ āϝāĻĻāĻŋ āĻāĻĒāύāĻžāϰ āĻā§āϞāĻžāϏā§āĻāĻžāϰ⧠2āĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻāĻŋāύā§āύ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āĻāϞāĻŽāĻžāύ āĻĨāĻžāĻā§ āĻāĻŦāĻ āĻāĻĒāύāĻŋ āϤāĻžāĻĻā§āϰ āĻĒā§āϰāϤāĻŋāĻāĻŋāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻāĻŋāύā§āύ āĻĄāĻŋāĻĢāϞā§āĻ-āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ-āĻĒāϰāĻŋāώā§āĻŦāĻž āĻāĻŦāĻ āĻŦāĻŋāĻāĻŋāύā§āύ āϤā§āϰā§āĻāĻŋ āĻā§āĻĄā§āϰ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻāϰāĻŖ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāϰāϤ⧠āĻāĻžāύ, āĻāϰ āĻāύā§āϝ āĻāĻĒāύāĻžāĻā§ āϏāĻŽāĻžāϧāĻžāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻšāĻŦā§, āϝāĻžāϰ āĻŽāϧā§āϝ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻĻā§āĻāĻŋ āϰāϝāĻŧā§āĻā§āĨ¤
āĻĒā§āϰāĻŦā§āĻļ <0.23: āĻĒā§āϰāĻĨāĻŽ āĻĻāĻŋāĻā§
āĻāĻ āĻŦāĻŋāĻāϞā§āĻĒāĻāĻŋ āĻāϰāĻ āϏāĻšāĻāĨ¤ āĻāĻāĻāĻŋ āĻ
ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āĻšāĻŋāϏāĻžāĻŦā§ āĻāĻāĻŋāϰ āĻĒā§āώā§āĻ āĻžāĻā§āϞāĻŋ āĻĒāϰāĻŋāĻŦā§āĻļāύ āĻāϰā§, āĻāĻŽāĻžāĻĻā§āϰ āύāĻŋāϝāĻŧāĻŽāĻŋāϤ āĻāĻāĻāĻāĻŋāĻāĻŽāĻāϞ āϰāϝāĻŧā§āĻā§, āϝāĻž āĻļāĻŋāϰā§āύāĻžāĻŽāĻā§āϞāĻŋ āĻā§āĻāĻžāĻŦā§ āĻĻā§āĻāϤ⧠āĻšāϝāĻŧ āĻāĻŦāĻ āϏāĻ āĻŋāĻ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻā§āĻĄāĻā§āϞāĻŋ āĻĢā§āϰāϤ āĻĻā§āϝāĻŧ āϤāĻž āĻāĻžāύ⧠āύāĻžā§ˇ āĻāĻ āϧāϰāύā§āϰ āĻāĻāĻāĻŋ āĻ
ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ url āĻĨā§āĻā§ Ingress āĻĻāĻŋāϝāĻŧā§ āϰā§āϞ āĻāĻāĻ āĻāϰāĻž āĻšāϝāĻŧ /error-pages, āĻāĻŦāĻ āĻā§āϝāĻžāĻāĻžāϞāĻā§ ws āĻĢāĻŋāϰ⧠āĻāϏāĻž HTML āĻšāĻŦā§āĨ¤
YAML-āĻ āĻĻā§āώā§āĻāĻžāύā§āϤ:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: {{ .Chart.Name }}-app2
annotations:
kubernetes.io/ingress.class: "nginx"
ingress.kubernetes.io/server-snippet: |
proxy_intercept_errors on;
error_page 500 501 502 503 504 @error_pages;
location @error_pages {
rewrite ^ /error-pages/other/index.html break;
proxy_pass http://error-pages.prod.svc.cluster.local;
}
spec:
tls:
- hosts:
- app2.example.com
secretName: wildcard-tls
rules:
- host: app2.example.com
http:
paths:
- path: /
backend:
serviceName: {{ .Chart.Name }}-app2
servicePort: 80āĻāĻ āϏā§āĻĨāĻžāĻĒāύāĻžāϰ āĻāύā§āϝ āĻĒāϰāĻŋāώā§āĻŦāĻžāĻāĻŋ āĻ āĻŦāĻļā§āϝāĻ ClusterIP āĻĒā§āϰāĻāĻžāϰā§āϰ āĻšāϤ⧠āĻšāĻŦā§āĨ¤
āĻāĻāĻ āϏāĻŽāϝāĻŧā§, āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻāĻŋāϤ⧠āϝā§āĻāĻžāύ⧠āĻāĻŽāϰāĻž āϤā§āϰā§āĻāĻŋāĻāĻŋ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻāϰāĻŦ, āĻĒā§āϰāĻŦā§āĻļā§ āĻāĻŽāϰāĻž āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āϏāĻžāĻŽāĻā§āϰ⧠āϏāĻš āĻāĻāĻāĻŋ āϏāĻžāϰā§āĻāĻžāϰ-āϏā§āύāĻŋāĻĒā§āĻ āĻŦāĻž āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ-āϏā§āύāĻŋāĻĒā§āĻ āϝā§āĻ āĻāϰāĻŋ:
nginx.ingress.kubernetes.io /server-snippet: |
proxy_intercept_errors on;
error_page 500 501 502 503 504 @error_pages;
location @error_pages {
rewrite ^ /error-pages/ws/index.html break;
proxy_pass http://error-pages.prod.svc.cluster.local;
}āĻĒā§āϰāĻŦā§āĻļ <0.23: āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ āĻĒāĻĻā§āϧāϤāĻŋ
āĻāĻāĻāĻŋ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻŦāĻŋāĻāϞā§āĻĒ āϝāĻž āĻļāĻŋāϰā§āύāĻžāĻŽāĻā§āϞāĻŋ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻāϰāϤ⧠āĻĒāĻžāϰā§... āĻāĻŦāĻ āϏāĻžāϧāĻžāϰāĻŖāĻāĻžāĻŦā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāϰāĻ āϏāĻ āĻŋāĻ āĻāĻĒāĻžāϝāĻŧ, āĻāĻžāϏā§āĻāĻŽ-http-āϤā§āϰā§āĻāĻŋ āĻĨā§āĻā§ āϧāĻžāϰ āĻāϰāĻžāĨ¤ āĻāĻāĻŋ āĻŽā§āϝāĻžāύā§āϝāĻŧāĻžāϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž (āĻāĻĒāĻŋ āĻāϰāĻž) āĻāĻĒāύāĻžāĻā§ āĻā§āϞā§āĻŦāĻžāϞ āϏā§āĻāĻŋāĻāϏ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āύāĻž āĻāϰāĻžāϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āĻŦā§āĨ¤
āύāĻŋāĻŽā§āύāϰā§āĻĒ āĻĒāĻĻāĻā§āώā§āĻĒāĨ¤ āĻāĻŽāϰāĻž āĻŦāĻžāύāĻžāĻ āĻāĻāĻāĻŋ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āϏāĻš āϝāĻž āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻļāĻŋāϰā§āύāĻžāĻŽ āĻļā§āύāϤ⧠āĻāĻŦāĻ āϏāĻ āĻŋāĻāĻāĻžāĻŦā§ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻāĻžāύāĻžāϤ⧠āĻĒāĻžāϰā§āĨ¤ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āϏāĻš āĻāύāĻā§āϰā§āϏ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻāĻŋāϤ⧠āĻāĻāĻāĻŋ āϏāĻžāϰā§āĻāĻžāϰ-āϏā§āύāĻŋāĻĒā§āĻ āϝā§āĻā§āϤ āĻāϰā§āύ:
nginx.ingress.kubernetes.io /server-snippet: |
proxy_intercept_errors off;
error_page 404 = @custom_404;
error_page 503 = @custom_503;
location @custom_404 {
internal;
proxy_intercept_errors off;
proxy_set_header X-Code 404;
proxy_set_header X-Format $http_accept;
proxy_set_header X-Original-URI $request_uri;
proxy_set_header X-Namespace $namespace;
proxy_set_header X-Ingress-Name $ingress_name;
proxy_set_header X-Service-Name $service_name;
proxy_set_header X-Service-Port $service_port;
proxy_set_header Host $best_http_host;
rewrite ^ /error-pages/ws/index.html break;
proxy_pass http://error-pages.prod.svc.cluster.local;
}
location @custom_503 {
internal;
proxy_intercept_errors off;
proxy_set_header X-Code 503;
proxy_set_header X-Format $http_accept;
proxy_set_header X-Original-URI $request_uri;
proxy_set_header X-Namespace $namespace;
proxy_set_header X-Ingress-Name $ingress_name;
proxy_set_header X-Service-Name $service_name;
proxy_set_header X-Service-Port $service_port;
proxy_set_header Host $best_http_host;
rewrite ^ /error-pages/ws/index.html break;
proxy_pass http://error-pages.prod.svc.cluster.local;
}āĻāĻĒāύāĻŋ āĻĻā§āĻāϤ⧠āĻĒāĻžāĻā§āĻā§āύ, āĻĒā§āϰāϤāĻŋāĻāĻŋ āϤā§āϰā§āĻāĻŋāϰ āĻāύā§āϝ āϝāĻž āĻāĻŽāϰāĻž āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻāϰāϤ⧠āĻāĻžāĻ, āĻāĻŽāĻžāĻĻā§āϰ āύāĻŋāĻāϏā§āĻŦ āĻ āĻŦāϏā§āĻĨāĻžāύ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻšāĻŦā§, āϝā§āĻāĻžāύ⧠āϏāĻŽāϏā§āϤ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻļāĻŋāϰā§āύāĻžāĻŽ āϏāύā§āύāĻŋāĻŦā§āĻļ āĻāϰāĻž āĻšāĻŦā§, āϝā§āĻŽāύ "āύā§āĻāĻŋāĻ" āĻāĻāĻāĻŋāϤā§āĨ¤ . āĻāĻāĻāĻžāĻŦā§ āĻāĻŽāϰāĻž āĻāĻŽāύāĻāĻŋ āĻĒā§āĻĨāĻ āĻ āĻŦāϏā§āĻĨāĻžāύ āĻāĻŦāĻ āϏāĻžāϰā§āĻāĻžāϰā§āϰ āĻāύā§āϝ āĻŦāĻŋāĻāĻŋāύā§āύ āĻŦā§āϝāĻā§āϤāĻŋāĻāϤāĻā§āϤ āϤā§āϰā§āĻāĻŋ āĻĒā§āώā§āĻ āĻž āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋāĨ¤
āĻĻā§āϰāώā§āĻāĻŦā§āϝ
K8s āĻāĻŋāĻĒāϏ āĻāĻŦāĻ āĻā§āϰāĻŋāĻā§āϏ āϏāĻŋāϰāĻŋāĻā§āϰ āĻ āύā§āϝāĻžāύā§āϝ:
- ÂĢ";
- ÂĢ";
- ÂĢ";
- ÂĢÂģ.
āĻāĻŽāĻžāĻĻā§āϰ āĻŦā§āϞāĻā§āĻ āĻĒāĻĄāĻŧā§āύ:
- ÂĢ";
- ÂĢÂģ.
āĻāϤā§āϏ: www.habr.com
