You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Having a private AWS API Gateway
with IAM auth
and associated with a VPC
and accessible via a VPCE endpoint
and exposed via Cloudflare through Argo Tunnel running in the same VPC (which forwards the external requests).
Problem
Using the signing proxy will set the Host header incorrectly to the signing host override instead of the host override.
See steps to reproduce below.
Request is rejected "403" because the proxy tries to send an incorrect request. Connect to "host override" then send a request in which the "Host" is the "signing host override".
apply correction according to the host override parameter (this is missing)
if p.HostOverride != "" {
proxyReq.Host = p.HostOverride
}
so the requests will be signed according to the "signing host override" while the request will be sent to the target host as specified in the "host override".
The text was updated successfully, but these errors were encountered:
Scenario
Having a private AWS API Gateway
with IAM auth
and associated with a VPC
and accessible via a VPCE endpoint
and exposed via Cloudflare through Argo Tunnel running in the same VPC (which forwards the external requests).
Problem
Using the signing proxy will set the Host header incorrectly to the signing host override instead of the host override.
See steps to reproduce below.
Request is rejected "403" because the proxy tries to send an incorrect request. Connect to "host override" then send a request in which the "Host" is the "signing host override".
Solution
After https://github.com/awslabs/aws-sigv4-proxy/blob/master/handler/proxy_client.go#L174 the override
and signature generated https://github.com/awslabs/aws-sigv4-proxy/blob/master/handler/proxy_client.go#L186
apply correction according to the host override parameter (this is missing)
so the requests will be signed according to the "signing host override" while the request will be sent to the target host as specified in the "host override".
The text was updated successfully, but these errors were encountered: