web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

No record found.

News and Announcements icon
Community site session details

Community site session details

Session Id :
Small and medium business | Business Central, N...
Answered

BC 27.0 on-prem Could not ensure side service is alive"

(1) ShareShare
ReportReport
Posted on by 86

Environment

Business Central 27.0 on-premises (platform 27.0.41766.0)
Windows Server, single host running three BC Server instances
Install path: D:\Program Files\Microsoft Dynamics 365 Business Central\270\Service\

What we were doing

We needed to give the server outbound internet access through our corporate proxy. We configured it by setting machine-level environment variables:

HTTP_PROXY  = http://proxy.internal.local:8080
HTTPS_PROXY = http://proxy.internal.local:8080
NO_PROXY    = localhost;127.0.0.1;*.local

Everything kept working normally for several hours after the change. Then Business Central broke — reporting stopped working across all three instances at once.


The error

The Microsoft-DynamicsNAV-Common/Admin event log fills with event ID 701, category Reporting, roughly every 15 seconds, on every instance:

(SideServiceProcessException): ParentException: SideServiceProcessException
Could not ensure side service is alive:
D:\...\270\Service\SideServices\Microsoft.BusinessCentral.Reporting.Service.exe
ExceptionStackTrace:
  at Microsoft.Dynamics.Nav.Runtime.ReportingProcessStartup.InitializeReportingServiceConfiguration()
  at Microsoft.Dynamics.Nav.Runtime.SideServiceProcessClient.TryStartService()
InnerException:
RootException: NavNCLOperationCanceledException
Error Code: 22928073
Could not connect to the reporting service in time.
ExceptionStackTrace:
  at Microsoft.BusinessCentral.Reporting.Client.ReportingServiceGrpcClient.EnsureConnectivityAsync()

What is the supported way to configure an HTTP proxy on a Business Central on-premises server?
Are machine-level HTTP_PROXY / HTTPS_PROXY variables supported at all, or should we use WinHTTP (netsh winhttp set proxy) or per-instance configuration? 
Is there any documentation on the side services (SideServices\, ReportingServiceIsSideService, ReportingServiceEstablishConnectionTimeout, SideServiceProcessAliveCheckRate)?
 I can only find ReportingServicePort on Microsoft Learn — the rest seems undocumented.
Has anyone else hit this after introducing a proxy on a BC on-prem host? I

RESOLVED:
Thank you all for the replies — they pointed us in the right direction.

A short update on where we landed:

NO_PROXY syntax was indeed the main issue. We rewrote it comma-separated, and with a leading dot for the domain: localhost,127.0.0.1,::1,<server>,<server>.<domain>,.local. As you said, with the previous (semicolon / wildcard) syntax nothing was excluded, so even internal calls were tunneled through the corporate proxy and came back as 403 Forbidden.
We verified it on the proxy side. Our network team confirmed on the outgoing proxy (squid) that the internal requests were hitting it before the change, and stopped after it — which matched exactly what you described.
Hosts file. We removed/commented the extra manual entries so normal DNS resolution is used again, and the entries that were really needed (CRL endpoints) were moved to the proxy instead.
Conflicting ports. We also found that some of our BC service instances on the same server had overlapping port assignments, which was causing part of the noise in the logs.
IIS / Web Client. Finally, the Web Server instance was configured with the short server name instead of the FQDN. Fixing it with:
Set-NAVWebServerInstanceConfiguration -WebServerInstance <Instance> -KeyName Server -KeyValue '<server>.<domain>'
followed by a restart of the BC service instance and the IIS application pool, resolved the remaining A server was not found at http://<server>:<port>/<Instance>/Service errors. Using the full FQDN everywhere is what made the NO_PROXY entries actually match.

Key takeaway for anyone hitting this: use the FQDN for all internal BC endpoints, keep NO_PROXY comma-separated with a leading dot for the domain suffix, and remember the variables are only read at process start — so restart both the BC service and the IIS app pool after every change.

Thanks again for the help.

  • Verified answer
    Assisted by AI
    OussamaSabbouh Profile Picture
    19,350 Super User 2026 Season 2 on at

    Hello,

    This strongly points to the machine-level proxy variables affecting the BC reporting side-service communication, especially because all three instances failed together: Microsoft documents that .NET HttpClient on Windows automatically reads HTTP_PROXY/HTTPS_PROXY, but importantly NO_PROXY must be comma-separated and * wildcards aren't supported, so NO_PROXY=localhost;127.0.0.1;*.local isn't valid for .NET proxy bypass; use something like NO_PROXY=localhost,127.0.0.1,::1,<server-name>,.internal.local and restart all BC Server services so the processes inherit the corrected environment. I wouldn't switch directly to netsh winhttp set proxy, because Microsoft doesn't document WinHTTP as the Business Central Server proxy configuration mechanism and .NET HttpClient follows its own proxy resolution rules. BC documentation confirms that ReportingServicePort is specifically used for internal communication between the BC Server instance and the separate reporting process, which fits your timeout exactly. I also couldn't find ReportingServiceIsSideService, ReportingServiceEstablishConnectionTimeout, or SideServiceProcessAliveCheckRate in the supported BC Server configuration documentation, so I would treat them as internal/undocumented settings and not modify them. As the first test, completely remove the machine HTTP_PROXY/HTTPS_PROXY variables, restart the three BC services, and confirm reporting works; if it does, reintroduce the proxy with the corrected comma-separated NO_PROXY. If it still fails after that, test on the latest BC 27 cumulative update and raise Microsoft support rather than changing those undocumented SideService settings.

    Regards,
    Oussama Sabbouh

  • Verified answer
    Grigorios Mavrogeorgis Profile Picture
    3,361 Super User 2026 Season 2 on at

    Hi, one part is factual whatever the root cause turns out to be. In .NET, NO_PROXY has to be comma separated and asterisks aren't supported, so localhost;127.0.0.1;*.local parses to nothing useful and excludes no host at all. Correct form is localhost,127.0.0.1,.local with a leading dot. And machine level HTTP_PROXY and HTTPS_PROXY affect every .NET process on that box, side services included.

    Whether that is what broke you I can't tell from the log, it only says the connection timed out, not where it was going. But if the reporting service talks to an endpoint that should bypass the proxy, a NO_PROXY that parses to nothing produces exactly this symptom. Your proxy logs, or a short network trace filtered on the reporting port, would settle it rather than us guessing.

    The timing fits as well, the variables are read at process start, so the break lands at the first restart and not when you set them.

    Glad to help - follow up if anything is unclear.   

    ►  If this solved it, marking it verified helps others too.       

    Regards,
    Grigorios Mavrogeorgis
    Business Central Consultant & AL Developer

    Work: Gmsoft Limited
    Blog:  insidebusinesscentral
    LinkedIn: linkedin.com/in/gregorymavrogeorgis

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Women in Power Builds Momentum

Expanding mentorship, skilling, and AI innovation

Congratulations to the July Top 10 Community Leaders

These are the community rock stars!

Leaderboard > Small and medium business | Business Central, NAV, RMS

#1
OussamaSabbouh Profile Picture

OussamaSabbouh 719 Super User 2026 Season 2

#2
YUN ZHU Profile Picture

YUN ZHU 410 Super User 2026 Season 2

#3
AndrewThomas81 Profile Picture

AndrewThomas81 369 Super User 2026 Season 2

Last 30 days Overall leaderboard

Featured topics

Microsoft Training Manuals

Product updates

Dynamics 365 release plans