kubernetes のイングレスとして traefik を使用しています。サービスのいずれかが 404 を返した場合、またはその要求に応答するサービスがない場合は、特別なことを行う必要があるため、再び 404 になります。
現時点では、イングレス ルールが満たされていないときに 404 をキャッチできるデフォルトのバックエンドがありますが、サービス自体が 404 を返すと、それは私が望むものではない独自のページをレンダリングします。
私は注釈でこれを達成しようとしました:
traefik.ingress.kubernetes.io/error-pages
しかし、クラスター内のすべてのイングレス ルールにこのアノテーションを配置する必要があるため、これは理想的ではありません。
クラスターからすべての発信 404 をキャッチし、これらの 404 で何らかの魔法を行う特別なサービスにそれらを送信するにはどうすればよいですか?
[編集]
私がやろうとしていることを少しよく理解するために:
デフォルトのバックエンドを使用することは多少問題ありません。はい、それがイングレス ルールに含まれていない場合は魅力的に機能しますが、リクエストが次の場合:
api.kube.mini/timeline/asd
イングレス ルールとして、リクエストはそのルールに基づいて/timeline
サービスに渡されますが/asd
、そのサービスには存在しないため、サービスは独自の 404 ページを返し、必要になる可能性のあるこのリクエストをキャッチできません。リダイレクト。