URL Based Routing

Hi,

Tried io.l5d.fs and io.l5d.consul, want to route traffic to different urls but it only accept IP and Port. I have following setup

linkerd listen on localhost:4140 and full url will be like http://localhost:4140/app/Health.aspx and i want to route traffic of app to backends like

http://server-ip/lb1-app/Health.aspx
http://server-ip/lb2-app/Health.aspx
http://server-ip/lb3-app/Health.aspx
http://server-ip/lb4-app/Health.aspx

Currently i am not able to achieve this due to IP restriction as these all can be on single server and also not able to map app to lb-1-app etc, is there any way i can achieve this.

Any help would be appreciated, thanks

Do I understand correctly that you have 4 backends with fixed IPs and you want to load balance /app/Health.aspx across each of the backends? What do you mean by “IP restriction”?

Yes, i want to load balance request to 4 different Urls but they can be on the same Server, eg: IIS Server with multiple copies of the same site/application to avoid App Pool Contention

Also, i am not able to route app traffic to lb1-app etc, i have config like this

identifier:
kind: io.l5d.path
segments: 1
consume: true

and in this way i cannot achieve app to lb-1-app url re-write.

Basically, i want linkerd to route traffic to endpoints which can be full url rather taking IP only cuz its not allowed something like 127.0.0.1/app 80

Thanks

I understand. Unfortunately linkerd’s dtab path rewriting logic doesn’t support that kind of rewriting. See https://stackoverflow.com/a/44556322 where a similar question was asked. I filed https://github.com/linkerd/linkerd/issues/1809 to add a new namer to linkerd to support this kind of use case, though there’s no ETA for when such a feature might be implemented.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.