Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

proxy: Introduce a l5d-server-id response header #2124

Closed
olix0r opened this issue Jan 22, 2019 · 1 comment
Closed

proxy: Introduce a l5d-server-id response header #2124

olix0r opened this issue Jan 22, 2019 · 1 comment

Comments

@olix0r
Copy link
Member

olix0r commented Jan 22, 2019

The proxy's outbound client may or may not validate the identity of the server. This identity is typically a name like ${deployment}.deployment.${namespace}.linkerd-managed.${controller_namespace}.svc.cluster.local, which is provided to the proxy via service discovery.

When the server's identity has been validated, linkerd should insert a l5d-server-id header to responses with the server's name. The linkerd proxy should ALWAYS remove this header for both inbound and outbound requests such that it may ONLY be sent to the application when it is set by the local proxy.

@olix0r olix0r changed the title Introduce a l5d-server-id header on responses proxy: Introduce a l5d-server-id response header Jan 22, 2019
@seanmonstar
Copy link
Contributor

Let me see if I have this correct.

  1. Services Foo and Bar have been injected with Linkerd2, and TLS is enabled.
  2. Foo makes an outbound request to Bar.
  3. Foo's proxy discovers that Bar is managed by linkerd, by receiving a TlsIdentity from the controller.
  4. Foo's proxy tries to make a request to Bar's proxy, using TLS, expecting Bar's proxy's certificate to match the identity.
  5. If it does, then the response received from Bar (through Bar's proxy) by Foo's proxy should add l5d-server-id: $tls_identity to the headers, and then pass that back to Foo.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants