App Gateway path based routing not working with ILB ASE

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP


App Gateway path based routing not working with ILB ASE



We have an ILB ASE with 2 Web Apps running in it :


2


app1.mydomain.local
app2.mydomain.local



We have an Application Gateway in front of this to make the apps securely accessible from the Internet. The Application Gateway has the following configurations:



Backend pool: myapp-beap - points to the IP of the ILB


myapp-beap



Health Probe 1: app1-probe - Host = app1.mydomain.local


app1-probe


app1.mydomain.local



Health Probe 2: app2-probe - Host = app2.mydomain.local


app2-probe


app2.mydomain.local



HTTP Setting 1: app1-httpSetting - Custom Probe: app1-probe Host name: app1.mydomain.local


app1-httpSetting


app1-probe


app1.mydomain.local



HTTP Setting 2: app2-httpSetting - Custom Probe: app2-probe Host name: app2.mydomain.local


app2-httpSetting


app2-probe


app2.mydomain.local



Listener: myapp-listener Frontend port: 80


myapp-listener



Path-based rule: myapp-rule


myapp-rule


myapp-listener


myapp-beap


app1-httpSetting


API


/api/*


myapp-beap


app2-httpSetting



The app1.mydomain.local app is the UI for our application and it makes calls to the app2.mydomain.local app. The goal is to be able to access the UI by going to app1.mydomain.com and then map app1.mydomain.com/api/ to app2.mydomain.local so that we can get a single certificate for the entire solution.


app1.mydomain.local


app2.mydomain.local


app1.mydomain.com


app1.mydomain.com/api/


app2.mydomain.local



With the configuration detailed above, we can easily get to app1.mydomain.com but when we try to go to app1.mydomain.com/api/ it gives us :


app1.mydomain.com


app1.mydomain.com/api/



The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.



The vast majority of information we have found on the Internet related to path-based routing relates to routing to multiple different VMs. There is almost nothing for doing this with App Services and even less when it is inside of an ILB ASE.





I suggest you to follow the link below and make sure you run test on AG. docs.microsoft.com/en-us/azure/application-gateway/…
– Zahid Faroq
16 hours ago





@ZahidFaroq we have seen that article and it really does not help with our scenario because of the App Service Environment.
– phydeauxman
12 hours ago





Do you need to inspect and audit all outbound traffic in Azure ASE?
– Zahid Faroq
11 hours ago




1 Answer
1



I was dealing with this as well. The answer to your question is that you will need to create identical mapping from the Application Gateway to the ILB ASE.



app1.mydomain.com/api/ to app2.mydomain.local/api/



You are seeing the that message because app2.mydomain.local/api/ currently doesn't exist. I know, I thought initially that it would mapped to the root of the ILB ASE environment as well.



I hope this help,
Hai



We are all looking for answers, some of us are more lucky than others. -Unknown





Also, I didn't see it mentioned on your original post but you will have to make these changes to the Application Gateway as well to have the host header be changed to the one that will be needed to target the application within the ILB ASE. "Both the switch -PickHostNamefromBackendHttpSettingson the Probe configuration and -PickHostNameFromBackendAddress on the back-end http settings must be provided in order for web apps to work." Source: docs.microsoft.com/en-us/azure/application-gateway/…
– Hai
5 hours ago






By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Popular posts from this blog

Arduino Mega cannot recieve any sketches, stk500_recv() programmer is not responding

Visual Studio Code: How to configure includePath for better IntelliSense results

C++ virtual function: Base class function is called instead of derived