0

I have an Azure app service with a single custom domain. Within the app service, I have several virtual applications deployed.

In specifically two of these virtual applications (let's call them app1 and app2), they need to communicate with each other - each is a .Net Core 3.1 API solution.

I have set up test controllers - I can call each virtual applications' test method in their test controller from Postman, so I can verify that the services are up and running and responding as expected.

Yet, if I try to call app2 test controller/method from app1 test controller/method (or the other way around) I get a 404 "Not Found" error, which leads me to suspect I have not added or configured a networking component.

Try as might, I have not found anything that is specific to virtual applications having or not having permissions to communicate.

Any direction or thoughts here would be most appreciated.

2 Answers2

0

To call the app2 test controller/method from the app1 test controller/method, you could insert the virtual path of app1 into the URL like https://webapp.azurewebsites.net/app1/testcontroller/method.

enter image description here

Nancy Xiong
  • 21,523
  • 1
  • 8
  • 18
  • Thanks for the response Nancy - yes that is the correct and same way as I have been calling the virtual applications. – MrWilliams Oct 28 '20 at 03:04
0

Sorry but SO allows a limited editing window on a comment. WTF?

@Nancy - thank you - here is the rest of the response as what solved the issues for me:

It turns out in the end that the application of the SSL certificates appears not to be inline with .Net Core 3.1. Azure only allows up to TLS 1.2. I needed to modify my HTTPClient Factory to enable support for TLS 1.2 protocol

services.AddHttpClient("<<client_name>>", c =>
        {
            c.BaseAddress = new Uri(<<keyvault_value>>);
        }).ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
        {
            SslProtocols = SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls
        });