oauth2-proxy/docs/assets/images/request-flow.mmd

42 lines
1.2 KiB
Plaintext

graph TD
req(Request Initiated)
resp(Response closed)
subgraph RedirectToHTTPS
isRDHTTPs{Is redirect to HTTPs Enabled?}
requestNeedsRedirect{Request is HTTP or X-Forwarded-Proto not HTTPS}
redirectToHTTPS(Send redirect to HTTPs)
rdHTTPSNext(Send to next server)
end
isGCPHealthCheck{Is GCP HealthCheck enabled?}
subgraph GCPHealthCheck
livenessCheck{Request path is /liveness_check}
readinessCheck{Request path is /readiness_check}
gcpUserAgent{Path is / and user agent is 'GoogleHC/1.0'}
gcpOk(Send OK response)
gcpNext(Send to next server)
end
req --> isRDHTTPs
%% RedirectToHTTPS
isRDHTTPs -- yes --> requestNeedsRedirect
isRDHTTPs -- no --> rdHTTPSNext
requestNeedsRedirect -- yes --> redirectToHTTPS
requestNeedsRedirect -- no --> rdHTTPSNext
redirectToHTTPS --> resp
rdHTTPSNext --> isGCPHealthCheck
%% GCPHealthCheck
livenessCheck -- yes --> gcpOk
livenessCheck -- no --> readinessCheck
readinessCheck -- yes --> gcpOk
readinessCheck -- no --> gcpUserAgent
gcpUserAgent -- yes --> gcpOk
gcpUserAgent -- no --> gcpNext
gcpOk --> resp
isGCPHealthCheck -- yes --> livenessCheck