Comments (6)
I feel that this bug shouldn't have been closed?
I cannot get regex's working for an Ingress
using Traefik v3
Using the example given for this issue:
- path: /xxx/v1/yyyy/{customer:[a-z0-9]+}/push/
I've tried writing it two other ways and the v3 parser does not treat either as a regex:
- path: /xxx/v1/yyyy/{[a-z0-9]+}/push/
- path: /xxx/v1/yyyy/[a-z0-9]+/push/
from traefik.
Hey @fkollmann,
As it's explained in the migration guide, defaultRuleSyntax
needs to be set to v2
if you want to keep the v2 format by default.
This should be used temporarily, while migrating to the default v3 syntax.
from traefik.
If you set defaultRuleSyntax
to be v2
will Ingresses using v3
syntax (whatever that may be, I haven't found how it differs yet) still work?
I'm trying to work out how you'd migrate without an outage.
from traefik.
Hello @jim-barber-he,
Could you confirm that the bug you described may be fixed by this PR?
from traefik.
Hi @nmengin,
Author of the mentioned PR here. I don't think my PR fixes this issue. Further more it might even make the workaround (defaultRuleSyntax: v2
) impossible. Therefore I would remove my changes regarding ingress configuration from my PR.
Digging through the code it seems like that with the current implementation it is not possible to configure ingress paths with regex matching. Only Path(...)
and PathPrefix(...)
are used internally.
Maybe using path type ImplementationSpecific
in combination with the annotation traefik.ingress.kubernetes.io/router.pathmatcher
could be another workaround. But this feels kinda hacky and the documentation says only Path
and PathPrefix
should be used as path matchers.
To reiterate, it is not mentioned in the migration guide that it is no longer possible to use regex for routing in this use case. So I think this is a real bug and should be reopened.
Disclaimer: Unfortunately I have no experience with Kubernetes ingress configuration. I purely went with what's in the code and might have missed something. So take this with a grain of salt.
from traefik.
Hello @HalloTschuess,
Thank you for your feedback.
I re-opened the issue to discuss it during the next triage with the other maintainers.
So I think this is a real bug and should be reopened.
From what I understand in this issue, such behavior is not expected indeed.
from traefik.
Related Issues (20)
- rateLimit not working as expected for long latency requests HOT 3
- Traefik v3.0 breaks existing `cert-manager` integrations
- cannot import github.com/IBM/sarama HOT 3
- Enable HTTP/3 By Default
- Traefik v3.0 Log Error on unexposed services (docker swarm) HOT 2
- Traefik v2 does not show client IP address in X-Forwarded-For and/or in X-Real-Ip headers HOT 3
- Improving Documentation for Non-Containerized Environments HOT 4
- logs.compress integer or boolean? HOT 1
- Dashboard displays duplicate entries for IPAllowList's sourceRange/ipStrategy HOT 2
- middleware error is responding with error http response code though it is redirected to error page to client HOT 1
- Docs mention `--tracing.otlp.http=true` flag but it is not accepted HOT 4
- Traefik does not resolve TLS ingress if termination secret created after ingress HOT 1
- More resiliant approach for in-flight requests on terminating Pods HOT 2
- traefik_open_connections metric drifts down until negative HOT 7
- Service label in traefik_service_server_up metric is not human-readable HOT 2
- filter query params from logs HOT 1
- Dual Logging paths HOT 1
- rate limit middleware to support long latency requests HOT 1
- Log files not persisted on container restart HOT 2
- Cannot load rules / directives from config files HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from traefik.