Ошибка при настройке сервера состояний сеанса
У нас есть 4 машины за брандмауэром и аппаратным балансировщиком нагрузки.
Мы пытаемся настроить сервер состояния сеанса. Когда мы это делаем, мы получаем следующую ошибку:
Сообщение: System.Net.Sockets.SocketException (0x80004005): Попытка подключения не удалась, так как подключенная сторона не ответила должным образом через определенный промежуток времени, или не удалось установить соединение, так как подключенный хост не смог ответить 210.18.207.181:80 в системе.NET.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) в System.Net.ServicePoint.ConnectSocketInternal(логический connectFailure, Socket s4, Socket s6, состояние сокета и сокета, IPAddress& address, состояние ConnectSocketState, исключительная ситуация времени соединения и события, исключительная ситуация IASyncRec)
Обратите внимание, что IP-адрес в сообщении об ошибке - это IP-адрес балансировщика нагрузки, но когда мы выполняем трассировку между серверами, он не проходит через балансировщик нагрузки. NLB стоит перед серверами (между ними и Интернетом), и все серверы находятся в одной локальной сети / подсети.
Служба состояния сеанса запущена. и web.config содержит следующее:
<sessionState
mode="StateServer"
stateConnectionString="tcpip=xxx.yyy.zzz.www:42424"
/>
Где xxx.yyy.zzz.www - это IP-адрес одного из серверов, находящихся за NLB. Все серверы взаимодействуют друг с другом в одной локальной сети / подсети, и между ними ничего нет. Несмотря на это, исключение (выше) содержит IP-адрес балансировщика нагрузки.
Любая помощь приветствуется.
1 ответ
В наборе regedit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state \Parameters
AllowRemoteConnection = 1