WCF挂在iis上时访问服务经常返回502

使用的是nginx反向代理访问到wcf的方法中,在使用nginx后会产生很多TIME_WAIT的TCP链接,其实就算不用nginx反向代理也会这个问题,但是奇怪的是只有这一个服务器会这样,怀疑可能和反向代理也会有关系。
目前的解决方式是先修改注册表,修改TIME_WAIT的回收时间
--修改TCP回收时间。
1.在Windows开始菜单中,单击“运行”。
2.在“运行”对话框中,输入“regedit”后按“Enter”打开注册表编辑器。
3.在“注册表编辑器”中打开“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters”路径。
4.在“编辑”菜单中,选择“新建 > DWORD (32-位)值”,输入名称“TcpTimedWaitDelay”。
5.右键单击TcpTimedWaitDelay,选择“修改”。
6.在“编辑 DWORD(32位)值”对话框的“基数”区域中,选择十进制值为“30”,并“确定”。
7.在Windows开始菜单中,单击“运行”。
8.输入“cmd”并按“Enter”打开命令执行窗口。
9.执行如下命令修改端口范围。
netsh int ipv4 set dynamicportrange tcp startport=5000 numberofports=60000

最后还需要重启服务器

在代理服务器上修改参数
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 1024 6500

你可能感兴趣的:(WCF挂在iis上时访问服务经常返回502)