Skip to content

Implement CDN-Loop (RFC 8586) #3489

@lann

Description

@lann

RFC 8586 protects systems from intra-CDN infinite loops.

The basic requirement here would be to copy any cdn-loop header from an incoming HTTP request onto any outbound HTTP request(s).

Given that it is somewhat natural to implement "CDN-like" features in Spin, I think this should be an opt-out runtime-configurable feature.

Open questions around whether/how to expose this header to guests:

  • Should it appear in inbound requests? I'd default to yes, but in some sense it may make the spin environment a little less portable.
  • Should guests be able to add values? Seems fine to allow, in which case any outbound cdn-loop header value(s) must be sent after copied inbound value(s).
  • If the answer to both of the above questions is "yes", we should probably be smart about only copying the header if the guest hasn't already (which it likely would if simply forwarding a request).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions