Azure 응용 프로그램에서 응용 프로그램을 실행합니다. 표준 : 1 작은 계획. 프레임 워크는 4.6.1입니다.azure에서만 : SSL/TLS 보안 채널을 만들 수 없습니다.
이 응용 프로그램은 SSL 보안 API를 호출합니다. SSL이 StartCom Class 1 DV Server CA에 의해 게시되면 내 로컬 브라우저에서 인증서가 유효 함을 알려줍니다.
내 로컬 컴퓨터에서 응용 프로그램을 실행하면 모든 것이 작동합니다. 푸른에 배포 할 때, 그것은 follwing을 오류와 함께 실패 :
System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel.
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)
--- End of inner exception stack trace ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
코드 :
public async Task<List<QutationOverview>> GetAll(string url, DateTime lastActionDate)
{
var result = string.Empty;
try
{
var userName = await _settingManager.GetSettingValueAsync("API.UserName");
var password = await _settingManager.GetSettingValueAsync("API.Password");
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls |
SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
ServicePointManager
.ServerCertificateValidationCallback +=
(sender, cert, chain, sslPolicyErrors) => true;
//Add date filter
//Always request qutations where the last action took place >= Yesterday
var requestUrl =
$"GetALL/?last_action_date={lastActionDate.AddDays(-1).ToString("yyyy-MM-dd")}&format=json";
var baseAddress = new Uri(url);
var credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{userName}:{password}"));
Logger.InfoFormat("GetAllQuotationsAsync for url {0}{1}", url, requestUrl);
using (var httpClient = new HttpClient {BaseAddress = baseAddress})
{
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", credentials);
using (var response = await httpClient.GetAsync(requestUrl))
{
result = await response.Content.ReadAsStringAsync();
Logger.Info(result);
}
}
}
catch (Exception ex)
{
Logger.ErrorFormat("GetAllQuotationsAsync {0}: {1}", url, ex);
}
var data = JsonConvert.DeserializeObject<List<QutationOverview>>(result);
return data;
}
당신은 내가 인증서의 유효성 검사를 건너보고 보안 프로토콜을 추가 할 수있다.
그러나 요청이 여전히 실패하고 있습니다.
다음은 어떻게 푸른 작업이 하나를 얻을하는 어떤 생각을 가지고 마십시오 caputred 응답 http://textuploader.com/5ers0
입니까?
관련 : HTTP : // 유래.com/questions/34437473/can not-create-ssl-tls-secure-channel-in-the-azure-web-application? rq = 1 –
이제 textuploader.com 링크가 끊어졌습니다. –