Scenario: Unable to browse the orchestrator website
Steps to reproduce:
Current Behavior: Website does not open
Expected Behavior: Website should open
Studio/Robot/Orchestrator Version: Studio 2017.1.6435
Last stable behavior:NA
Last stable version:
OS Version: Windows Server 2012 R2 hosted on AWS
Others if Relevant: (workflow, logs, .net version, service pack, etc):
I have Sqlserver and UiPath Studio & Robot already installed on the server.
Then I installed the orchestrator that uses AppPoolIdentity and SqlServer Authentication.
Update: I have tried enabling Health and Diagnostic as mentioned in here
Also I have tried with CustomIdentity but still the same issue.
Seems to be an issue with web.config.
<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=301880
-->
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
<section name="quartz" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<sectionGroup name="common">
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging"/>
</sectionGroup>
<section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
<sectionGroup name="nwebsec">
<!-- For information on how to configure NWebsec please visit: https://docs.nwebsec.com/ -->
<section name="httpHeaderSecurityModule" type="NWebsec.Modules.Configuration.HttpHeaderSecurityConfigurationSection, NWebsec, Version=4.3.0.0, Culture=neutral, PublicKeyToken=3613da5f958908a1" requirePermission="false"/>
</sectionGroup>
</configSections>
<common>
<logging>
<factoryAdapter type="Common.Logging.NLog.NLogLoggerFactoryAdapter, Common.Logging.NLog41">
<arg key="configType" value="INLINE"/>
</factoryAdapter>
</logging>
</common>
<!--Logging configuration-->
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true" throwExceptions="false" internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
<extensions>
<add assembly="NLog.Targets.ElasticSearch"/>
</extensions>
<targets>
<target xsi:type="EventLog" name="eventLog" layout="${message}" source="Orchestrator" log="Application"/>
<target xsi:type="EventLog" name="eventLogQuartz" layout="[Quartz] ${message} ${onexception: ${exception:format=tostring}}" source="Orchestrator" log="Application"/>
<target name="robotElasticBuffer" xsi:type="BufferingWrapper" flushTimeout="5000">
<target xsi:type="ElasticSearch" name="robotElastic" uri="" index="${event-properties:item=indexName}-${date:format=yyyy.MM}" documentType="logEvent" includeAllProperties="true" layout="${message}" excludedProperties="agentSessionId,tenantId,organizationUnitId,indexName"/>
</target>
<target xsi:type="Database" name="database" connectionStringName="Default" keepConnection="true">
<commandText>
insert into dbo.Logs (OrganizationUnitId, TenantId, TimeStamp, Level, WindowsIdentity, ProcessName, JobKey, Message, RawMessage, RobotName)
values (@organizationUnitId, @tenantId, @timeStamp, @level, @windowsIdentity, @processName, @jobId, @message, @rawMessage, @robotName)
</commandText>
<parameter name="@organizationUnitId" layout="${event-properties:item=organizationUnitId}"/>
<parameter name="@tenantId" layout="${event-properties:item=tenantId}"/>
<parameter name="@timeStamp" layout="${date}"/>
<parameter name="@level" layout="${event-properties:item=levelOrdinal}"/>
<parameter name="@windowsIdentity" layout="${event-properties:item=windowsIdentity}"/>
<parameter name="@processName" layout="${event-properties:item=processName}"/>
<parameter name="@jobId" layout="${event-properties:item=jobId}"/>
<parameter name="@message" layout="${message}"/>
<parameter name="@rawMessage" layout="${event-properties:item=rawMessage}"/>
<parameter name="@robotName" layout="${event-properties:item=robotName}"/>
</target>
</targets>
<rules>
<logger name="Robot.*" writeTo="database,robotElasticBuffer" final="true"/>
<logger name="Quartz.*" minlevel="Info" writeTo="eventLogQuartz" final="true"/>
<logger name="*" minlevel="Info" writeTo="eventLog"/>
</rules>
</nlog>
<quartz>
<add key="quartz.scheduler.instanceName" value="UiPathQuartzScheduler"/>
<add key="quartz.scheduler.instanceId" value="AUTO"/>
<add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz"/>
<add key="quartz.threadPool.threadCount" value="10"/>
<add key="quartz.threadPool.threadPriority" value="2"/>
<add key="quartz.jobStore.misfireThreshold" value="60000"/>
<add key="quartz.jobStore.type" value="Quartz.Impl.AdoJobStore.JobStoreTX, Quartz"/>
<add key="quartz.jobStore.driverDelegateType" value="Quartz.Impl.AdoJobStore.SqlServerDelegate, Quartz"/>
<add key="quartz.jobStore.tablePrefix" value="quartz.QRTZ_"/>
<add key="quartz.jobStore.dataSource" value="default"/>
<add key="quartz.jobStore.clustered" value="false"/>
<add key="quartz.dataSource.default.connectionStringName" value="Default"/>
<add key="quartz.dataSource.default.provider" value="SqlServer-20"/>
<add key="quartz.jobStore.useProperties" value="false"/>
<add key="quartz.jobStore.UseDBLocks" value="true"/>
</quartz>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>
</entityFramework>
<appSettings>
<add key="webpages:Version" value="3.0.0.0"/>
<add key="webpages:Enabled" value="false"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
<!--Advanced instalation settings-->
<add key="DeploymentUrl" value=""/>
<add key="MonitoringUrl" value=""/>
<add key="NotificationHubUrl" value=""/>
<add key="LoggingUrl" value=""/>
<add key="LoggingIndex" value="logflow"/>
<add key="QueuesSvcUrl" value=""/>
<add key="EncryptionKey" value="JxeqgDeoffnzwgVqGp/fbvZnT9RIUGZ97/XVTttfHCQ="/>
<add key="TermsAndConditionsRegisterUrl" value="https://www.uipath.com/terms-of-use"/>
<!-- Queues -->
<add key="autogenerateStatistics" value="true"/>
<add key="inProgressMaxNumberOfMinutes" value="1440"/>
<add key="QueuesStatisticsScheduleCron" value="10 0/1 * 1/1 * ? *"/>
<add key="UpdateUncompletedItemsJobCron" value="0 0 0/1 1/1 * ? *"/>
<add key="ItemsAgeLimitInDays" value="30"/>
<add key="ElasticSearchUrlKey" value="http://localhost:9200"/>
<!--Alerts-->
<add key="DailyAlertMailJobCron" value="0 0 7 1/1 * ? *"/>
<add key="NotRespondingRobotsJobCron" value="0 0/1 * 1/1 * ? *"/>
<add key="Alerts.Email.Enabled" value="false"/>
<add key="NotificationDistributerJobCron" value="0/10 1/1 * 1/1 * ? *"/>
<add key="PeriodicErrorMailJobCron" value="0 0/10 * 1/1 * ? *"/>
<add key="PasswordComplexity" value="(?=.*\d)(?=.*[a-z]).{8,}"/>
<!--Deployment-->
<!--Change the path to the packages folder. Default is ~/NuGetPackages.This can be a virtual or physical path.-->
<add key="NuGet.Packages.Path" value="~/NuGetPackages"/>
<add key="NuGet.Packages.ApiKey" value="53D2035E-6798-424F-87CA-0B36FFB3D4FF"/>
<add key="NuGet.Activities.Path" value="~/NuGetPackages/Activities"/>
<add key="NuGet.Activities.ApiKey" value="53D2035E-6798-424F-87CA-0B36FFB3D4FF"/>
<!--TODO: this should be removed when we find a way to support multiple instances of a package repository-->
<add key="NuGet.EnableFileSystemMonitoring" value="true"/>
<!--Authorization-->
<add key="ExternalAuth.Google.Enabled" value="false"/>
<add key="ExternalAuth.Google.ClientId" value=""/>
<add key="ExternalAuth.Google.ClientSecret" value=""/>
<add key="WindowsAuth.Enabled" value="false"/>
<add key="WindowsAuth.Domain" value=""/>
<add key="WindowsAuth.AutoLogin.Enabled" value="false"/>
<add key="AcceptedRootUrls" value="http://localhost:6234"/>
<add key="Auth.Cookie.Expire" value="30"/>
<!--Multitenancy-->
<add key="Tenant.Registration.Enabled" value="false"/>
<!--Load balancer-->
<add key="LoadBalancer.UseSqlServer" value="false"/>
<add key="LoadBalancer.UseRedis" value="false"/>
<add key="LoadBalancer.Enabled" value="false"/>
<add key="LoadBalancer.Redis.Server" value=""/>
<add key="LoadBalancer.Redis.Password" value=""/>
<add key="LoadBalancer.Redis.Port" value="6379"/>
<add key="LoadBalancer.Redis.EnableClientManager" value="true"/>
<!--Password vault-->
<add key="Vault.Type" value="default"/>
<!--Possible values: default, CyberArk-->
<add key="Vault.CyberArk.AppId" value=""/>
<add key="Vault.CyberArk.Safe" value=""/>
<add key="Vault.CyberArk.Folder" value=""/>
<!-- Organization units -->
<add key="OrganizationUnit.Enabled" value="false"/>
<!--High density robots -->
<add key="Robots.HighDensity.Enabled" value="false"/>
<add key="CustomTitle" value=""/>
</appSettings>
<connectionStrings>
<add name="Default" providerName="System.Data.SqlClient" connectionString="Server=WIN-7DB0RGH7FU3\SQLEXPRESS;User ID=uipath_sql;Password=uipath_1;Database=UiPath"/>
</connectionStrings>
<!--
For a description of web.config changes see http://go.microsoft.com/fwlink/?LinkId=235367.
The following attributes can be set on the <httpRuntime> tag.
<system.Web>
<httpRuntime targetFramework="4.5.2" />
</system.Web>
-->
<system.web>
<!--Uncomment this to enable sql state
To create the database run C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regsql.exe -S <server> -d <database> -ssadd -sstype c -U <user> -P <password>-->
<!--<sessionState mode="SQLServer" sqlConnectionString="data source=.\sqlexpress;database=UiPath;user id=sa;password=1qazXSW@" allowCustomSqlDatabase="true"/>-->
<sessionState mode="InProc" sqlConnectionString="" allowCustomSqlDatabase="true"/>
<globalization culture="auto" uiCulture="auto"/>
<compilation>
<assemblies>
<add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</assemblies>
</compilation>
<httpRuntime targetFramework="4.5.2" maxRequestLength="31457280" requestPathInvalidCharacters="<,>,*,%,&,\,?" enableVersionHeader="false"/>
<customErrors mode="On" defaultRedirect="GenericError.html">
<error statusCode="404" redirect="404.html"/>
</customErrors>
<!--This should have the same value for all machines under a load balancer-->
<machineKey decryption="AES" decryptionKey="A8B07702445B682EC38F3DE7E1BADBBB7C0A6CBEAE41F2CCCF7A741DFAEAD4A2" validation="SHA1" validationKey="CCDE1B0DC748ACD5B501BFBC854F9C658AC3D8B84C8CE53061E3BA1474103032E1F033DA4D5119B64050C7FB067E775D951F40ABAB7CC56057E70A90B6469A0F"/>
<!--Diagnostics-->
<!--<httpModules>
<add name="Glimpse" type="Glimpse.AspNet.HttpModule, Glimpse.AspNet" />
</httpModules>
<httpHandlers>
<add path="glimpse.axd" verb="GET" type="Glimpse.AspNet.HttpHandler, Glimpse.AspNet" />
</httpHandlers>
-->
</system.web>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FluentMigrator" publicKeyToken="aacfc7de5acabf05" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.2.0.0" newVersion="1.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http.WebHost" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="AutoMapper" publicKeyToken="be96cd2c38ef1005" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.1.1.0" newVersion="5.1.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.2.0.0" newVersion="1.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.OData.Edm" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-7.1.0.0" newVersion="7.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.OData.Core" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-7.1.0.0" newVersion="7.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Spatial" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-7.1.0.0" newVersion="7.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.AspNet.SignalR.Core" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.2.1.0" newVersion="2.2.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.OData" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Common.Logging.Core" publicKeyToken="af08829b84f0328e" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.3.1.0" newVersion="3.3.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Common.Logging" publicKeyToken="af08829b84f0328e" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.3.1.0" newVersion="3.3.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EntityFramework.DynamicFilters" publicKeyToken="146423a1b8d60775" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.4.11.0" newVersion="1.4.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Data.Edm" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.7.0.0" newVersion="5.7.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Data.OData" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.7.0.0" newVersion="5.7.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Spatial" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.7.0.0" newVersion="5.7.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule"/>
<add name="NWebsecHttpHeaderSecurityModule" type="NWebsec.Modules.HttpHeaderSecurityModule, NWebsec, Version=4.3.0.0, Culture=neutral, PublicKeyToken=3613da5f958908a1"/>
</modules>
<httpErrors errorMode="Custom">
<remove statusCode="401"/>
<error statusCode="401" path="401.html" responseMode="File"/>
<remove statusCode="403"/>
<error statusCode="403" path="403.html" responseMode="File"/>
</httpErrors>
<staticContent>
<remove fileExtension=".woff"/>
<remove fileExtension=".woff2"/>
<mimeMap fileExtension=".woff" mimeType="application/font-woff"/>
<mimeMap fileExtension=".woff2" mimeType="application/font-woff"/>
<mimeMap fileExtension=".nupkg" mimeType="application/zip"/>
</staticContent>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
<remove name="OPTIONSVerbHandler"/>
<remove name="TRACEVerbHandler"/>
<remove name="WebDAV"/>
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
</handlers>
<httpProtocol>
<customHeaders>
<clear/>
<remove name="X-Powered-By"/>
<remove name="X-AspNet-Version"/>
<remove name="X-AspNetMvc-Version"/>
<remove name="Server"/>
<add name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains"/>
</customHeaders>
</httpProtocol>
<directoryBrowse enabled="false"/>
<rewrite>
<rules>
<rule name="Redirect HTTP to HTTPS" stopProcessing="true">
<match url="(.*)"/>
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="localhost(:\d+)?" negate="true"/>
<add input="{HTTP_HOST}" pattern="127\.0\.0\.1(:\d+)?" negate="true"/>
<add input="{HTTPS}" pattern="OFF"/>
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther"/>
</rule>
</rules>
</rewrite>
<validation validateIntegratedModeConfiguration="false"/>
<security>
<requestFiltering>
<hiddenSegments>
<add segment="NWebsecConfig"/>
</hiddenSegments>
</requestFiltering>
</security>
</system.webServer>
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
</system.serviceModel>
<nwebsec>
<httpHeaderSecurityModule xmlns="http://nwebsec.com/HttpHeaderSecurityModuleConfig.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="NWebsecConfig/HttpHeaderSecurityModuleConfig.xsd"></httpHeaderSecurityModule>
</nwebsec>
</configuration>
<!--ProjectGuid: 897F6FD8-6F90-48E4-95A5-B4429B896205-->