Code Monkey home page Code Monkey logo

Comments (5)

RyanTheOptimist avatar RyanTheOptimist commented on June 22, 2024

CC: @esmet @tyxia @ggreenway @wbpcode

from envoy.

jpmca12 avatar jpmca12 commented on June 22, 2024

@htuch
any help please. thanks

from envoy.

htuch avatar htuch commented on June 22, 2024

When ExtAuthz service returns 5XX response, next lua filter cannot access the headers set by ExtAuthz service.

Is the request rejected at this point? If so, the filter after ext_authz won't run.

from envoy.

jpmca12 avatar jpmca12 commented on June 22, 2024

Hello @htuch

I have failure_mode_allow: true which allows ExtAuthz filter to pass the request to next Lua filter for 5XX but I want to identify (read status code) the cause of ExtAuthz failure in next Lua filter which I am unable to do as all the headers seems to be removed by ExtAuthz filter when it returns 5XX.

Mainly I want to identify 2 failures, 500 and 503. our ExtAuthz server returns 500 if there is any failure in processing the request. Also, sometime Envoy doesn't able to reach ExtAuthz server and fails with 503 (reported here with logs #32058).

I want to retry for 503 case (connection issue) in the next Lua filter but don't want to retry for 500 case (processing error by ExtAuthz server).

How can i identify the status code of ExtAuthz filter in the next Lua filter or any other way I can achieve the same?

from envoy.

htuch avatar htuch commented on June 22, 2024

Reading

, this just takes the failure_mdoe_allowed logic and doesn't apply any headers (as done above in ), which makes sense given 5xx semantics.

One option might be to enhance failure_mode_allow_header_add to support status propagation.

from envoy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.