위의 사양에 맞지 않으면 web api 발송 시 아래와 같은 오류가 발생될 수도 있습니다.
System.Net.WebException: 기본 연결이 닫혔습니다. 보내기에서 예기치 않은 오류가 발생했습니다. --->
System.IO.IOException: 예기치 않은 패킷 형식으로 인해 핸드셰이크가 실패했습니다.
ASP.NET MVC 및 WEB API 설정하기
TLS 1.2 를 강제 실행하려면, 사이트의 루트에서 global.asax 파일을 찾아 마우스 오른쪽 단추로 클릭하고 코드 열어서 Application_Start메소드 안에 아래 코드를 기술하면 됩니다.
❤️ 또는 AWS 관련 API 사용 중일 때 오류 발생할 경우에도 아래 처럼 적용하면 됩니다.
Amazon.S3.AmazonS3Exception:
'Amazon S3 will stop supporting TLS 1.0 and TLS 1.1 connections.
Please update your client to use TLS version 1.2 or above.
To learn more and to update your client, see https://go.aws/3AUlVSb.
For further assistance, contact AWS support.'
namespace YourApplication
{
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
//**Add these lines**
if (ServicePointManager.SecurityProtocol.HasFlag(SecurityProtocolType.Tls12) == false)
{
ServicePointManager.SecurityProtocol = ServicePointManager.SecurityProtocol | SecurityProtocolType.Tls12;
}
//**Add these lines**
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
}
오류 발생할 경우
요청이 중단되었습니다. SSL/TLS 보안 채널을 만들 수 없습니다.
System.Net.WebException: 기본 연결이 닫혔습니다. 보내기에서 예기치 않은 오류가 발생했습니다. ---> System.IO.IOException: 예기치 않은 패킷 형식으로 인해 핸드셰이크가 실패했습니다.
만약에 전부 열어서 테스트 하고자 할 경우, 아래 처럼 프로토콜을 아래와 같이 지정 가능합니다.