Step 10: Configure TLS
In v6, a custom IIS web site usually terminated TLS. In v7 you describe the certificate once, per environment, in the Portal, and the CLI binds it to every Core Service web site at each install and update. Because v6 TLS settings are not carried forward, decide now whether to enable HTTPS (recommended) or continue on HTTP.
Understanding TLS in v7
subject or SAN"] -->|"Install"| STORE["fa:fa-key LocalMachine\WebHosting
or LocalMachine\My"] PORTAL["fa:fa-cloud Portal Servers step
Core host Configuration"] -->|"Package"| CLI["fa:fa-terminal Nodinite.Installer.Cli.exe"] CLI -->|"Find by subject"| STORE CLI -->|"Bind HTTPS + SNI"| SITES["fa:fa-globe One IIS web site
per Core Service"] USER["fa:fa-user Browser"] -->|"https://host:port"| SITES style CA fill:#9E59BB style STORE fill:#3F827B style PORTAL fill:#2678BD style CLI fill:#E47528 style SITES fill:#93d16d style USER fill:#2678BD
How the certificate reaches the Core Services. You install the certificate (purple) in a LocalMachine store (teal) and enter its subject in the Portal Core host Configuration (blue). At every install and update, the CLI (orange) searches LocalMachine\WebHosting and LocalMachine\My for a valid matching certificate and binds it to each web site (green): Web Client, Web API, Log API, Logging Service, Monitoring Service, and MCP Server.
Identify the certificate by Certificate subject. A renewal keeps the subject but changes the thumbprint, so after a renewal you only install the new certificate and run the update again. Set a thumbprint only when you must pin one exact certificate.
Prerequisites
- Step 9 completed – Legacy v6 IIS applications and Windows services removed, including the custom v6 TLS web site and its bindings
- Migration marked complete in the Portal (Step 7)
- For HTTPS: a certificate with private key in
LocalMachine\MyorLocalMachine\WebHosting, and a DNS name that matches its subject or SAN
Choose Your Path
| Option | When to use | |
|---|---|---|
| Option A: Enable TLS | ✅ Recommended. Your certificate is installed and DNS is configured | |
| Option B: Continue Without TLS | You run HTTP only, for example a test environment on an intranet |
Option A: Enable TLS (HTTPS)
Critical Shared IIS Certificate Reuse Edge Case
Warning
If this server hosts other IIS web sites and you reuse the same certificate for Nodinite, the installer can remove HTTPS bindings on those other sites when they lack a host name with SNI enabled. In this exact configuration the risk is effectively 100%, and dependent APIs or applications stop working.

Example of an HTTPS binding on another site that must be corrected before you reuse the same certificate for Nodinite.
Before you continue, use one of these mitigations:
- On every non-Nodinite IIS site that uses the certificate, assign a host name and enable SNI on the HTTPS binding.
- Use a different certificate for Nodinite.
- Install Nodinite on another machine.
If those bindings already have a host name and SNI, Nodinite can co-exist with the other sites.
Steps
In the Portal, open your environment and go to the Servers step.
In Core host Configuration, enter:
- Hostname / SNI: the DNS name users and agents use, for example
nodinite.contoso.com - Certificate subject: for example
nodinite.contoso.comor*.contoso.com - Certificate thumbprint: leave empty unless you must pin one certificate

Example of the Servers step where you enter the Hostname (SNI), the Certificate subject, and the optional Certificate thumbprint.Important
A migrated environment runs Windows authentication. Add the host name to the browser's Local Intranet Zone, for example through Group Policy, or browsers fall back from Kerberos to NTLM with 4+ second page loads. When the IIS application pools run as a custom domain account, the host name also needs HTTP Service Principal Names (SPN). See NTLM vs Kerberos Authentication and Restoring Kerberos Transparent Login After v7 Upgrade.
- Hostname / SNI: the DNS name users and agents use, for example
(Recommended) In Core platform services, set the Web Client port to 443, and update your firewall rules (Network and Firewall Overview). With 443, the HTTPS default, users reach the Web Client without a port in the URL. HTTPS also works on any other port, but users must then include it in the URL.
(Optional) In the Agents step, add and configure the Pickup Log Events Service now to save a round trip; details in Step 11.
Save, go to Review and Download, and download the package.
Extract the package and run the CLI from an elevated PowerShell 7 prompt, as in Step 7: Run the CLI Workflow. Use the server folder of your package:
.\Nodinite.Installer.Cli.exe validate --config .\nodinite01\config.cli.json .\Nodinite.Installer.Cli.exe deploy-environment --config .\nodinite01\config.cli.json --dry-run .\Nodinite.Installer.Cli.exe deploy-environment --config .\nodinite01\config.cli.jsonThe deployment keeps the existing configuration and databases and updates the IIS bindings for the new TLS settings.
Open
https://nodinite.contoso.com:<Web Client port>, check the padlock, and sign in.
After a certificate renewal, install the renewed certificate and run the update again with Update Nodinite v7; with a subject configured, nothing changes in the Portal.
Option B: Continue Without TLS (HTTP Only)
- Confirm in the Portal that the migration is marked complete (Step 7) and the workspace is saved.
- Leave Core host Configuration empty and continue with Step 11.
You can enable HTTPS later with Option A at any time. OAuth 2.0 / OpenID Connect requires HTTPS.
Completion Checklist
- Option A: certificate subject configured, package deployed, Web Client reachable over HTTPS without certificate errors, sign-in works
- Option B: environment confirmed in the Portal, Web Client reachable over HTTP
- Pickup Service can now be configured in the Portal
Troubleshooting
"HTTP Error 500.21" After Install
The Web Client shows a handler error. Check the following:
- The .NET 10.0 Hosting Bundle is installed after the IIS Windows Features
- Restart IIS:
iisreset /restart - Run the CLI deployment again
Browser Shows "Not Private" Warning
The browser shows a certificate warning. Check the following:
- The host name you browse to matches the certificate subject or SAN
- For development, see Development Certificates; for production, use a CA-issued certificate
- More causes and fixes: TLS Troubleshooting