This article provides a list of servers that are needed for the proper function of the dashboard. In case there are issues, like huge loading times, the dashboard shows just a blank page, missing elements, and artifacts.
Mandatory servers are the ones that are needed for the proper function of Atera, make sure to have the following servers allowed on your network.
Important note: AdBlock extensions may prevent the Atera app from functioning properly. Please disable any AdBlock extensions in your browser for the app.atera.com page.
Mandatory servers
- agent-api.atera.com
- angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.12.0.min.js
- app.atera.com
- atera-production.service.signalr.net
- atera.eu1app.churnzero.net
- ateramarketplace.blob.core.windows.net
- attributionapifunctions.azurewebsites.net
- auth.atera.com
- cdn-am1.atera.com
- cdn-am2.atera.com
- cdn.jsdelivr.net
- cdn.pubnub.com
- cdn.quilljs.com
- cdnjs.cloudflare.com
- eu1analytics.churnzero.net
- fonts.googleapis.com
- fonts.gstatic.com
- netdna.bootstrapcdn.com
- packagesstore.blob.core.windows.net
- ps13.pndsn.com
- ps8.pndsn.com
- ticketingitemsstoreeu.blob.core.windows.net
- v2.zopim.com
- seg-cdn.atera.com
- cdn.segment.com
Verify WebApp Connection (.ps1)
Use the following script to check if the connection to our web servers works as intended.
# Define the list of target servers and their corresponding ports (TCP and UDP)
$targets = @{
"agent-api.atera.com" = @(443)
"angular-ui.github.io" = @(443)
"app.atera.com" = @(443)
"atera-production.service.signalr.net" = @(443)
"atera.eu1app.churnzero.net" = @(443)
"ateramarketplace.blob.core.windows.net" = @(443)
"attributionapifunctions.azurewebsites.net" = @(443)
"auth.atera.com" = @(443)
"cdn-am1.atera.com" = @(443)
"cdn-am2.atera.com" = @(443)
"cdn.jsdelivr.net" = @(443)
"cdn.pubnub.com" = @(443)
"cdn.quilljs.com" = @(443)
"cdnjs.cloudflare.com" = @(443)
"eu1analytics.churnzero.net" = @(443)
"fonts.googleapis.com" = @(443)
"fonts.gstatic.com" = @(443)
"netdna.bootstrapcdn.com" = @(443)
"packagesstore.blob.core.windows.net" = @(443)
"ps13.pndsn.com" = @(443)
"ps8.pndsn.com" = @(443)
"ticketingitemsstoreeu.blob.core.windows.net" = @(443)
}
# Function to resolve all IP addresses for a given server
function Get-AllIPAddresses {
param (
[string]$server
)
try {
$ipAddresses = [System.Net.Dns]::GetHostAddresses($server)
$resolvedIPs = $ipAddresses | ForEach-Object { $_.IPAddressToString }
return $resolvedIPs
}
catch {
return $null
}
}
# Function to test TCP connection to a specific port
function Test-TcpConnection {
param (
[string]$server,
[int]$port
)
$resolvedIPs = Get-AllIPAddresses -server $server
if ($resolvedIPs) {
foreach ($resolvedIP in $resolvedIPs) {
try {
$tcpClient = New-Object System.Net.Sockets.TcpClient
$tcpClient.Connect($resolvedIP, $port)
$tcpClient.Close()
Write-Host ("TCP Connection to $server ($resolvedIP) on port $port is successful.") -ForegroundColor Green
}
catch {
Write-Host ("TCP Connection to $server ($resolvedIP) on port $port failed. Error: $($_.Exception.Message)") -ForegroundColor Red
}
}
} else {
Write-Host "Unable to resolve IP addresses for $server." -ForegroundColor Red
}
}
# Loop through the targets and test both TCP and UDP connections
foreach ($target in $targets.GetEnumerator()) {
$server = $target.Key
$ports = $target.Value
Write-Host "Testing connections to $server..."
# Test TCP connections
foreach ($port in $ports) {
Test-TcpConnection -server $server -port $port
}
# Test UDP connections (you can add specific UDP tests if needed)
# foreach ($port in $ports) {
# Test-UdpConnection -server $server -port $port
# }
Write-Host "" # Add an empty line after testing each server
}