У нас есть 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, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception&Exception)
Обратите внимание, что IP-адрес в сообщении об ошибке — это IP-адрес балансировщика нагрузки, но когда мы выполняем трассировку между серверами, он не проходит через балансировщик нагрузки. NLB стоит перед серверами (между ними и Интернетом), и все серверы находятся в одной локальной сети/подсети.
Служба состояния сеанса запущена. и web.config содержит следующее:
<sessionState
mode="StateServer"
stateConnectionString="tcpip=xxx.yyy.zzz.www:42424"
/>
Где xxx.yyy.zzz.www — это IP-адрес одного из серверов за NLB. Все серверы взаимодействуют друг с другом в одной локальной сети/подсети, и между ними ничего нет. Несмотря на это, исключение (выше) содержит IP балансировщика нагрузки.
Любая помощь приветствуется.