Introduction
When hosting Kepion on Azure VM, make sure to set the Azure idle timeout setting to 30 minutes. By default, the idle timeout is set to 4 minutes, which means that any connection that hasn’t returned within 4 minutes will be lost. End users would see the request refreshing forever and eventually triggering a timeout error.
Example
Configure TCP timeout for your Instance-Level Public IP to 30 minutes:
Set-AzurePublicIP –PublicIPName webip –VM MyVM -IdleTimeoutInMinutes 30
Set Idle Timeout when creating an Azure endpoint on a Virtual Machine:
Get-AzureVM -ServiceName "mySvc" -Name "MyVM1" | Add-AzureEndpoint -Name "HttpIn" -Protocol "tcp" -PublicPort 80 -LocalPort 8080 -IdleTimeoutInMinutes 15| Update-AzureVM
If you are using Azure Resource Manager, you can enter the following in PowerShell:
# using ARM and set the TCP Idle Timeout to max
Login-AzureRmAccount
$p = Get-AzureRmPublicIpAddress -Name <VMNAME> -ResourceGroupName <RESOURCEGROUP>
$p.IdleTimeoutInMinutes = 30
Set-AzureRmPublicIpAddress -PublicIpAddress $p