#c# #amazon-web-services #sockets #asp.net-web-api
#c# #amazon-веб-сервисы #розетки #asp.net-веб-api
Вопрос:
Я создаю одну службу, которая подключается к другой внешней конечной точке веб-api для извлечения данных с помощью метода HttpClient PostAsync. Я создаю службу в .net framework 4.6.1, на локальном хосте все работает нормально, но когда я перемещаю код в тестовую среду, я получаю следующую ошибку.
Исключение System.Net.WebException: Не удается подключиться к удаленному серверу System.Net.Sockets.Исключение SocketException: Попытка подключения не удалась, поскольку подключенная сторона не ответила должным образом через некоторое время, или не удалось установить соединение, поскольку подключенный хост не ответил XX.XX.XXX.XX:443. в System.Net.Сокеты.Разъем.InternalEndConnect(IAsyncResult AsyncResult) в System.Net.Sockets.Разъем.EndConnect(IAsyncResult AsyncResult) в точке System.Net.ServicePoint.ConnectSocketInternal(Логическое значение connectFailure, Сокет s4, Сокет s6, Сокет и сокет, IP-адрес и адрес, состояние состояния ConnectSocketState, IAsyncResult AsyncResult, исключение и исключение) — Конец трассировки внутреннего стека исключений — в System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult AsyncResult, TransportContext и контекст) в System.Net.Http.HttpClientHandler.GetRequestStreamCallback(IAsyncResult ar)
Мой код размещен в AWS, а веб-api, который я использую, также размещен в другом AWS.
В чем будет причина этой ошибки?
Брандмауэр блокирует эту связь?
Комментарии:
1. Да, похоже на то !
2. На AWS, надеюсь, ваша машина, которая пытается подключиться, находится в списке авторизованных IP-адресов.
3. @AbhayDesai Я проверил белый список IP, IP занесен в белый список на AWS. Но API размещен за шлюзом, поэтому мне нужно внести в белый список как шлюз, так и фактический IP-адрес машины.
4. Получил ответ на проблему: я должен отправить запрос команде API, чтобы они могли разрешить мой адрес шлюза NAT в конце.