Solved

Universal Indicium & GUI on Azure

  • 15 May 2020
  • 2 replies
  • 165 views

Userlevel 4
Badge +11

I'm trying to verify if the Universal GUI is working in Azure. I’ve tested it first on a local IIS environment connected to the Azure databases, which works. The next step is moving Indicium + Universal GUI to Azure App Services.

I’ve created an App Service for Indicium 2020.1.8, which works out of the box. The Universal GUI (RC1) needs some more attention:

  • It's not possible to add mime types via the Azure Portal GUI, so you have to configure a web.config to ensure the config.json file can be read and the .woff font works. I've added the following web.config file in the root directory (not sure if the mime types are ok): 
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
<mimeMap fileExtension=".woff2" mimeType="application/x-font-woff2" />
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
</configuration>
  • Then I have different end points for Indicium (company-indicium.azurewebsites.net) and the GUI (company-universal.azurewebsites.net), which will give a conflict with CORS according to the chrome log. This can be fixed by adding the GUI endpoint in the App Service of the Indicium app service.

At this point I got stuck after trying to log in:

, the Chrome log shows 2 things:

I'm pretty sure it's something about CORS, but I don't know what exactly.

icon

Best answer by Leroy Witteveen 18 May 2020, 11:25

Hi @René W,

I can see in Sentry that your Indicium is on <company>-indicium.azurewebsites.net and your Univeral is on <company>-universal.azurewebsites.net.
This is indeed causing CORS issues, as both Indicium and Universal need to be running on the same domain, subdomain and port.

A way to achieve this is to serve Universal as a static resource from the same webserver as Indicium.
For example, your Indicium could be running at <company>-indicium.azurewebsites.net/indicium and your Universal could be running at <company>-indicium.azurewebsites.net/universal.

For more information on this subject, we have a section about Universal GUI deployment on our docs.

Kind regards,
Leroy Witteveen

View original

2 replies

Userlevel 4
Badge +1

Hi @René W,

I can see in Sentry that your Indicium is on <company>-indicium.azurewebsites.net and your Univeral is on <company>-universal.azurewebsites.net.
This is indeed causing CORS issues, as both Indicium and Universal need to be running on the same domain, subdomain and port.

A way to achieve this is to serve Universal as a static resource from the same webserver as Indicium.
For example, your Indicium could be running at <company>-indicium.azurewebsites.net/indicium and your Universal could be running at <company>-indicium.azurewebsites.net/universal.

For more information on this subject, we have a section about Universal GUI deployment on our docs.

Kind regards,
Leroy Witteveen

Userlevel 4
Badge +11

I've bundled the indicium and gui, and that removes the issues regarding the CORS. Please note that I do this on an Azure App Service, for common interest:

 

I've placed in the app service root folder the GUI files (site/wwwroot), so your application can be retrieved by domain.azurewebsites.net. Then I've added under Configuration > Path Mappings an Application named “indicium” (site\indicium). This allows you to have ‘2’ apps on the same App Service. The url to indicium is then domain.azurewebsites.net/indicium.

 

 

Reply