Application troubleshooting

Next Gen Identity Server should not be deployed during EA except for customers participating in the beta program.

This guide covers issues you may encounter after a successful installation. Each section covers one component.

Applies to

This guide applies to the following versions.

  • Relativity Identity Service, version 26.x.y and later.
  • Internet Information Services (IIS) 10 or later.
  • Microsoft SQL Server with the EDDS database.

Prerequisites

Confirm the following before troubleshooting any application issue:

  1. The installation completed successfully. If installation did not complete, see the Installer troubleshooting guide.
  2. You have local Administrator privileges on the Next Gen Identity Server host.

Identifying the failing component

The Next Gen Identity Server exposes two health endpoints. https://[domainname]/RIS/Healthcheck is the service self-check; https://[domainname]/RIS/Diagnostics validates dependencies (EDDS database and Secret Store). Open both from a browser on the Next Gen Identity Server host. Then use the following table to find the right section.

Endpoint behavior Open this section
https://[domainname]/RIS/Diagnostics reports a SQL Server failure. Database issues
https://[domainname]/RIS/Diagnostics reports a Secret Store failure. Secret Store issues
https://[domainname]/RIS/Healthcheck returns HTTP 503 or an error response. IIS issues
Either endpoint is unreachable, or returns HTTP 500 / 502. IIS issues

Use localhost for [domainname] when running the check directly on the Next Gen Identity Server host.

IIS issues

IIS hosts the Next Gen Identity Server as an ASP.NET Core application. It runs in out-of-process mode. The service requires two IIS objects to operate:

IIS object Default name Required setting
Application pool Identity No Managed Code
Application Hosts /RIS/* URLs under Default Web Site Physical path: C:\Program Files\Relativity Identity Service

IIS issues typically fall into two categories: HTTP browser errors, and application pool failures.

HTTP errors in the browser

The following table lists common HTTP error codes and their resolutions.

Symptom Resolution
Browser displays "HTTP Error 500.19 - Internal Server Error" referencing web.config. The AspNetCoreModuleV2 module is missing. Install the .NET 10 Hosting Bundle from the Microsoft .NET downloads page. The Hosting Bundle is a distinct download from the Runtime and SDK. After installation, run iisreset.
Browser displays "HTTP Error 502.5 - ANCM Out-Of-Process Startup Failure" or "HTTP Error 500.30 - ASP.NET Core app failed to start". The Next Gen Identity Server process crashed on startup. Open the most recent log at C:\Program Files\Relativity Identity Service\logs\stdout*.log. If that file is empty or absent, stdout logging is not yet enabled - follow the steps in Accessing service logs without Environment Watch to enable it, then reproduce the error. Common causes: unreachable SQL Server, unreachable Secret Store, missing certificate.
Browser displays "HTTP Error 503 - Service Unavailable". The Identity application pool is stopped. Open IIS Manager > Application Pools > right-click Identity > Start. If it stops again, see Application pool problems.
Browser returns HTTP 404 for /RIS/.... The IIS application does not exist, or its physical path is incorrect. List existing applications: Get-WebApplication -Site 'Default Web Site'. The application must point to C:\Program Files\Relativity Identity Service. Run the installer in repair mode if it is missing.
All requests return HTTP 401 Unauthorized. IIS authentication is misconfigured. Open IIS Manager > Sites > Default Web Site > the Next Gen Identity Server application > Authentication. Enable Anonymous Authentication. Disable Windows Authentication unless explicitly required.

Application pool problems

The following table lists symptoms and resolutions for application pool failures.

Symptom Resolution
The Identity application pool stops immediately after being started. The application pool credentials are invalid, the account password has expired, or the account lacks the Log on as a service right. 1. Open IIS Manager > Application Pools > Identity > Advanced Settings > Identity and re-enter the service account password. 2. Open secpol.msc > Local Policies > User Rights Assignment > Log on as a service, and confirm the account is listed.
The pool runs but logs reference managed code or .NET CLR errors. The Identity application pool must use No Managed Code. Open IIS Manager > Application Pools > Identity > Basic Settings and set .NET CLR version to No Managed Code.
The service is reachable from the local server but not from remote hosts. The Windows Firewall blocks inbound port 443, or the IIS site is bound only to the loopback address. 1. Confirm Windows Firewall allows inbound traffic on the required ports. 2. In IIS Manager > Sites > Default Web Site > Bindings, confirm the binding uses * (all IP addresses) rather than 127.0.0.1.

IIS configuration commands

Use the following commands to verify the Next Gen Identity Server IIS configuration.

Copy
# Verify the Identity application pool exists and is running
Import-Module WebAdministration
Get-IISAppPool -Name 'Identity' |
    Select-Object Name, State, ManagedRuntimeVersion, AutoStart

# Verify the Next Gen Identity Server IIS application exists and points to the correct folder
Get-WebApplication -Site 'Default Web Site' |
    Select-Object Path, ApplicationPool, PhysicalPath

# Verify HTTPS binding on the site
Get-WebBinding -Name 'Default Web Site' |
    Where-Object { $_.protocol -eq 'https' } |
    Select-Object protocol, bindingInformation

# Review the most recent service log for startup errors
Get-ChildItem 'C:\Program Files\Relativity Identity Service\logs\stdout*.log' |
    Sort-Object LastWriteTime -Descending | Select-Object -First 1 | Get-Content -Tail 50

Database issues

The Next Gen Identity Server connects to the EDDS database. It reads instance settings, Secret Store data, and deployment logs.

Symptom Resolution
The Diagnostics endpoint (https://[domainname]/RIS/Diagnostics) reports SQL Server as unhealthy. The Next Gen Identity Server cannot connect to the EDDS database. 1. Verify the SQLDATASOURCE parameter matches the EDDS SQL Server instance. 2. Test SQL Server connectivity from the Identity Service server using the UDL test - see Testing SQL Server connectivity manually below. 3. Verify that the [eddsdbo].[DeploymentLogs] table and [eddsdbo].[SaveDeploymentLog] stored procedure exist on the EDDS database.
The log contains "A network-related or instance-specific error occurred." The SQL Server hostname is incorrect, the port is blocked, or the SQL Browser service is not running for a named instance. 1. Verify connectivity: Test-NetConnection <sql-host> -Port 1433. 2. For named instances, verify UDP port 1434 is open and the SQL Browser service is running.

Testing SQL Server connectivity manually

To validate EDDS connectivity, see How to conduct a UDL test on the Relativity Community site.

Secret Store issues

The Next Gen Identity Server retrieves sensitive configuration values from the Relativity Secret Store. These include token signing keys and cookie encryption keys.

Symptom Resolution
The Diagnostics endpoint (https://[domainname]/RIS/Diagnostics) reports Secret Store as unhealthy. The Next Gen Identity Server cannot reach the Secret Store endpoint. 1. Verify the Secret Store connection using the steps in the following section.
The log contains "Unable to authenticate to Secret Store." The machine certificate used for Secret Store authentication is missing, invalid, or expired. Secret Store authenticates using machine certificate identity, not Windows account registration. Verify a valid Relativity-issued machine certificate is in the Windows Certificate Store.
The service starts, but specific secrets fail to retrieve. A named secret has been renamed, deleted, or was never created. Open the Secret Store administration interface. Verify that all secrets expected by the Next Gen Identity Server exist. Secret names are case-sensitive. Re-create any missing secrets.

Secret Store connectivity test

See the Relativity Secret Store documentation to verify connectivity and confirm the store is unsealed.

Certificate issues

The Next Gen Identity Server uses two types of certificates that serve different purposes. Identify which one is failing before troubleshooting.

Certificate type Purpose Issued by
TLS/HTTPS certificate Secures browser connections to https://[domainname]/RIS Your corporate CA or a public CA - not the Relativity CA
Relativity machine certificate Authenticates the Next Gen Identity Server to Relativity Secret Store Relativity CA, provisioned when the server is registered

Browser certificate warnings

Browser warnings appear when a user opens the Next Gen Identity Server URL and indicate a problem with the TLS/HTTPS certificate on the IIS binding.

Symptom Resolution
Browser displays "Your connection is not private" with NET::ERR_CERT_AUTHORITY_INVALID. The CA that issued the TLS certificate is not trusted by the client browser. If a corporate CA issued the certificate, confirm the CA root certificate is distributed to all client machines - typically via Group Policy or manual import into the Trusted Root Certification Authorities store. Public CA certificates are trusted by Windows by default. Do not use the Relativity CA for this certificate - client browsers do not trust it.
Browser displays a certificate name mismatch warning or NET::ERR_CERT_COMMON_NAME_INVALID. The certificate was not issued to the FQDN that clients use to reach the Next Gen Identity Server. Re-issue the certificate from your corporate CA or public CA with the correct FQDN in the Subject Alternative Name (SAN). Assign the new certificate to the HTTPS binding in IIS Manager.

OpenTelemetry and observability issues

Environment Watch environments only. If Environment Watch is not deployed in your environment, skip this section and see Accessing service logs without Environment Watch below.

The Next Gen Identity Server exports telemetry to an OTLP-compatible collector configured during installation.

Symptom Resolution
No traces or metrics appear in the OTLP collector. The OTLP endpoint is incorrect, or the collector is unreachable from the Next Gen Identity Server. 1. Verify the OTLP endpoint configured for the service. 2. Test connectivity from the Next Gen Identity Server: Test-NetConnection -ComputerName <otel-host> -Port 8200. 3. Confirm the collector is running and accepting traffic on the configured port.
The Next Gen Identity Server fails to start; the log contains "OTLP endpoint could not be resolved." The apm-server-url key is missing from Relativity Secret Store at path database/elasticsearch/clusters/rel-cluster-infrawatch. This key is required at startup. Verify the key exists in Secret Store.
Traces and metrics are absent from the OTLP collector after startup. The OTLP connection failed at runtime. Test connectivity to the OTLP endpoint: Test-NetConnection -ComputerName <otel-host> -Port 8200. Review the IIS stdout log at C:\Program Files\Relativity Identity Service\logs\stdout*.log for error details.

Accessing service logs without Environment Watch

If Environment Watch is not deployed, the Identity Service writes log output to an IIS stdout log file. This file is not enabled by default. Follow these steps to enable it, read the logs, and then disable it when done.

Step 1 - Enable stdout logging

Open C:\Program Files\Relativity Identity Service\web.config in a text editor (run the editor as Administrator). Find the <aspNetCore> element and set stdoutLogEnabled="true":

Copy
<aspNetCore ... stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" ...>

Save the file and recycle the Identity application pool in IIS Manager to apply the change.

Step 2 - Reproduce the issue

Open a browser on the Identity Server host and navigate to https://localhost/RIS/Healthcheck. The service writes log entries as requests are processed.

Step 3 - Read the log

Open the most recent log file:

Copy
Get-ChildItem 'C:\Program Files\Relativity Identity Service\logs\stdout*.log' |
    Sort-Object LastWriteTime -Descending | Select-Object -First 1 | Get-Content -Tail 100

Look for lines containing Error, Exception, or Fatal. Common startup failures: unreachable SQL Server, unreachable Secret Store, missing Relativity machine certificate.

Step 4 - Disable stdout logging when done

Set stdoutLogEnabled="false" in web.config and recycle the Identity application pool. Leaving stdout logging enabled fills the disk over time.

Rolling back to Identity Server 3

Use this procedure for authentication issues after switching to Next Gen Identity Server. Apply it when other steps in this guide have not resolved the issue.

When to use this procedure

Roll back if you experience authentication failures or unexpected sign-in behavior. Use this procedure when other steps in this guide do not resolve the issue. Rolling back returns the environment to the legacy IS3 flow while you investigate.

How the rollback works

A single instance setting, IdentityProviderURL, controls which identity server handles authentication:

  • Populated - Authentication routes to Next Gen Identity Server.
  • Empty - Authentication uses the legacy Identity Server 3 flow.

To roll back, clear the IdentityProviderURL value. No separate rollback feature exists. Clearing this setting is the rollback.

Restart IIS on the Relativity web server after the change. The Relativity web application reads the IdentityProviderURL instance setting. Clearing it takes effect only after IIS restarts on that server. This also ends existing user sessions. Users must re-authenticate after the rollback. Notify users before performing this step during business hours.

Rollback steps

Use the following steps to revert to Identity Server 3.

  1. In Relativity, navigate to Administration > Instance Settings. Search for IdentityProviderURL and open it.
  2. Clear the value so the setting is empty.
  3. Restart IIS on the Relativity web server (iisreset) to clear the cached IdentityProviderURL setting and authentication state.
  4. Verify that users can sign in using the legacy IS3 flow.

Contacting Relativity Support

If this guide does not resolve the issue, contact Relativity Support. Provide the following information:

  1. The exact symptom observed, including any error message, screenshot, and the URL accessed.
  2. The response from both endpoints: https://[domainname]/RIS/Healthcheck and https://[domainname]/RIS/Diagnostics.
  3. The 200 most recent lines from the latest stdout*.log file in C:\Program Files\Relativity Identity Service\logs\.
  4. A browser HAR (HTTP Archive) file, if the browser can reproduce the issue. To capture a HAR file: open browser DevTools and select the Network tab. Reproduce the issue, then right-click and select Save all as HAR with content.
  5. Events from Event Viewer > Windows Logs > Application during the time the issue occurred.
Return to top of the page
Feedback