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

Match on header #5037

Open
bennesp opened this issue Mar 26, 2024 · 0 comments
Open

Match on header #5037

bennesp opened this issue Mar 26, 2024 · 0 comments
Assignees

Comments

@bennesp
Copy link

bennesp commented Mar 26, 2024

Is your feature request related to a problem? Please describe.

Currently, Pomerium lacks the ability to match requests based on specific headers, which is a feature offered by other web servers like Traefik using Headers('key', 'value').
This absence limits the flexibility and configurability of Pomerium in handling incoming requests.

Describe the solution you'd like

I would like to see the implementation of a feature in Pomerium that allows users to specify matching criteria based on headers. This feature would enable users to define rules such as routing (or even access control) based on the presence or content of certain headers in the incoming requests.

Describe alternatives you've considered

Currently there are no other approach viable apart from using other proxy (eg: Traefik)

Explain any additional use-cases

This feature would be particularly valuable in scenarios where:

  1. Conditional Routing: Routing requests to different backend services based on the value of certain headers.
  2. Access Control: Enforcing access policies based on specific header values, such as API keys or user roles embedded in headers.

Additional context

The ability to match on headers is a common requirement in modern web applications, and its absence in Pomerium may hinder its adoption in certain use cases where this functionality is crucial. Providing this feature would enhance Pomerium's versatility and make it a more attractive choice for users seeking a secure, flexible, and feature-rich proxy solution.

Moreover, Envoy already provides such functionality, so integrating this feature into Pomerium should be relatively easier as it could leverage existing capabilities within Envoy's proxying architecture

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

No branches or pull requests

2 participants