Forum Discussion
Provide Content of different Webapps with one Virtual Server
- Jun 07, 2023
nickLa248 I believe Mohamed_Ahmed_Kansoh is coming to the same result and your web app would need to add the additional path to the web app URI. As an example, when user goes to "/edge" they receive the edge web app but they still need to go to "/login" to log into the web app so the path if they did not login should be "/edge/login" rather than "/login" otherwise the F5 has no way of knowing that the "/login" request is for "/edge" web app. Now it is possible to have a default pool that handles authentication for each web app and hooks back to the appropriate web app using some sort of reference in a database that every web app communicates with but this seems like it would be fairly complicated. Your best option would the following assuming your web app is capable of doing it.
1. Have a unique hostname for each web app such as "edge.example.com" and then the URI path doesn't really matter at that point.
2. Have each web app function off of URI path such as "/edge/" and then each subsequent path would be added onto the URI such as "/edge/login" which would mean each web app has those paths available.Beyond this it seems that it would not be feasible to have multiple web apps on one virtual server because you cannot differentiate between the web apps.
Maybe for better understanding, i need the virtual server to work as a reverse proxy for multiple apps.
Currently i am testing with two applications my plan was to differentiate between them by an uri entered in addition to virtual server ip as ive shown with the /edge example. The following iRule then executes the correct if condition and uses the pool of the requested application.
The issue with this is, as you can see, that only if the uri has /edge it would use edgepool. but after /edge is called i get greeted with the login to the webapp which changes the uri to /login resulting in no pool beeing selected and connection timing out.
so the question would be if there is a way to "keep" the /edge part and add login to it like /edge/login or if there is some other way to identify which pool is supposed to be used for a request
nickLa248 I believe Mohamed_Ahmed_Kansoh is coming to the same result and your web app would need to add the additional path to the web app URI. As an example, when user goes to "/edge" they receive the edge web app but they still need to go to "/login" to log into the web app so the path if they did not login should be "/edge/login" rather than "/login" otherwise the F5 has no way of knowing that the "/login" request is for "/edge" web app. Now it is possible to have a default pool that handles authentication for each web app and hooks back to the appropriate web app using some sort of reference in a database that every web app communicates with but this seems like it would be fairly complicated. Your best option would the following assuming your web app is capable of doing it.
1. Have a unique hostname for each web app such as "edge.example.com" and then the URI path doesn't really matter at that point.
2. Have each web app function off of URI path such as "/edge/" and then each subsequent path would be added onto the URI such as "/edge/login" which would mean each web app has those paths available.
Beyond this it seems that it would not be feasible to have multiple web apps on one virtual server because you cannot differentiate between the web apps.
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com