2016-08-18 5 views
0

Visual Studio 2015에서 AWS로 C#으로 코딩 한 봇을 게시하려고합니다. Amazon Cloud SDK를 설치하고 봇을 AWS에 성공적으로 게시 할 수있었습니다. 나는 봇 엔드 포인트를 주소 (http://benbot-dev.us-west-2.elasticbeanstalk.com/)로 업데이트했다. 그러나 Microsoft Bots 사이트에 가서 봇 연결을 테스트 할 때 원격 서버에 연결할 수 없음을 말합니다. 도와주세요. https 엔드 포인트 문제라고 생각합니다. 그러나해야한다면 API 게이트웨이 엔드 포인트를 얻는 방법을 모르겠습니다.AWS에 게시 한 후 Microsoft Bot의 연결 오류

<<<<<<<<<< 
500 InternalServerError 
System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 52.42.245.162:443 
    at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult) 
    at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception) 
    --- End of inner exception stack trace --- 
    at System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext& context) 
    at System.Net.Http.HttpClientHandler.GetRequestStreamCallback(IAsyncResult ar) 
    --- End of inner exception stack trace --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at Intercom.DevPortal.Server.Controllers.BotManagerController.<PingV3BotAsync>d__54.MoveNext() in C:\a\1\s\DevPortalLib\Controllers\BotManagerController.cs:line 1420 
>>>>>>>>>>>>>>>> 
+0

로컬에서 '핑'을 수행 할 수 있습니까? 호스트 도달 범위 52.42.245.162? 그렇다면 AWS 서비스에서 같은 것을 실행할 수 있습니까? – oldbam

+0

안녕하세요 @oldbam. 도움을 청합니다. 아니요, 핑할 수 없습니다. 요청 시간이 초과되었습니다. 나는 봇이 게시되었다는 것을 의미한다고 생각하지만 API 서비스에 연결되어 있지 않습니다. ??? 또는 메시지를 보내고받을 수있는 메시지 끝 점이있는 것입니다. 그러나 AWS에서 어떻게 수행되는지는 알지 못합니다. 그들은 그렇게 복잡하게 만듭니다. –

답변

0

이 예외 메시지는 서버 코드 내에서 (HTTPS 포트 443에 액세스 할 수없는, 더 구체적으로) 당신이 52.42.245.162에서 서버에 도달하기 위해 노력하고 있으며,이 서버에 액세스 할 수없는 있음을 알려줍니다. 이 IP는 일부 AWS 호스트로 해석됩니다 (이를 찾으려면 nslookup 명령을 사용하십시오 (this answer 참조). 이 IP에 ping을 시도하거나 포트 80에 액세스 할 수 있는지 (둘 다 내 호스트에 있지 않은지 확인) 시도 할 수 있습니다. 또는 다른 포트가 해당 호스트에서 열려 있으면 열거 할 수 있습니다 (검색 방법은 google/bing 검색 방법 참조). 호스트에서 해당 포트에 연결할 수 없으면 Microsoft Bots 사이트에서도 연결할 수 없습니다. 해당 서비스가 해당 IP에서 실행중인 경우 가장 일반적인 원인은 공개 인터넷 (google/bing 검색 aws open port 또는 aws allow ssh)에서 액세스 할 수 있도록 AWS에서 포트를 열어야한다는 것입니다.

+0

감사합니다. 독서를 많이 한 후에 콩 줄기 환경에서 443 포트를 열려고 시도했고 SSL 인증서를 요구합니다. AWS Certificate Manager 콘솔에서 새 SSL 인증서를 요청하려고하는데 웹 사이트를 요청했습니다. 이제 나는 어떤 웹 사이트를 제공해야하는지 이해하지 못합니다. 봇의 URL? 아마존 사이트가 웹 사이트로 제공 될 수 없으므로이 주소를 사용하지 않습니다. 그래서 어떤 웹 사이트가 주어져야합니다. 나는 어떤 웹 사이트도 가지고 있지 않다. AWS 클라우드에 봇을 게시하려하지만 AWS의 복잡한 단계가 정말 어렵습니다. –

+0

포트 443으로 이동하면 해당 포트에서 수신 대기하는 웹 서버는 자신의 신원을 확인하는 인증서를 제공합니다. 그것을 어떤 권위자가 발행 한 여권으로 생각하십시오. 유효한 인증서를 얻으려는 AWS에서 호스팅되는 서비스에 대해 이야기하고있을 것입니다. 이 경우 호스팅 서비스의 주소가됩니다. – oldbam