본문 바로가기
Unity

InvalidOperationException: Insecure connection not allowed

by NightBreeze 2025. 4. 21.
반응형

 

회사 내부적으로 서버에 로그를 전송하는 코드가 있었는데, 최근 Unity를 2022 버전으로 업그레이드한 이후 아래와 같은 오류가 발생하고 있습니다.

관련된 원인과 해결 방법이에요~

 

70766 04-21 13:54:31.106 E 21785 24347 Unity   : InvalidOperationException: Insecure connection not allowed
70767 04-21 13:54:31.106 E 21785 24347 Unity   : at UnityEngine.Networking.UnityWebRequest.SendWebRequest () [0x00000] in <00000000000000000000000000000000>:0

 

이는 Unity 2022부터 UnityWebRequest가 **HTTP 요청(비보안 요청)**을 기본적으로 차단하도록 정책이 바뀌었기 때문입니다.

즉, http:// 주소로 로그 전송하려고 하면 위와 같은 오류가 납니다.

 


 

✅ 해결 방법은 다음 중 하나입니다:

 


 

1. HTTPS로 서버 주소 바꾸기 (권장)

 

http://yourserver.com/...https://yourserver.com/...

 

  • 서버가 HTTPS를 지원한다면 반드시 이 방법을 사용하세요.
  • Unity 2022+ 보안 정책 상 HTTPS가 기본입니다.

 


 

2. Player Settings에서 “Allow Insecure HTTP” 설정 (테스트용 혹은 내부망 서버 한정)

 

**비추천 (운영 환경에선 위험)**이지만, 테스트나 사내망에서 HTTPS를 쓸 수 없는 경우엔 이 방법으로 우회할 수 있습니다.

 

설정 방법:

 

  1. Unity Editor → Edit > Project Settings > Player
  2. Android/iOS/Standalone 각 플랫폼별로 설정
  3. Other Settings > Configuration > Allow downloads over HTTP
  4. 해당 옵션을 Always Allowed 또는 Development Build Only로 변경

 

📌 단, IL2CPP + Android 11+에서는 이 설정만으로 부족하고 AndroidManifest.xml에서 networkSecurityConfig 추가 필요할 수도 있습니다.

 

 


 

 

반응형