Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon 사용자 개입 없이 iOS에서 프록시 인증을 자동화하는 방법


사용자 개입 없이 iOS에서 프록시 인증을 자동화하는 방법


사용자 개입 없이 iOS에서 프록시 인증을 자동화하려면 다음 접근 방식을 시도해 볼 수 있습니다.

프로그래밍 방식으로 NEProxyServer 사용

- 앱의 VPN 구성에서 NEProxyServer의 ProxyServer, 포트, 사용자 이름 및 비밀번호 속성을 설정합니다[1][2]
- 그러나 이것이 항상 작동하는 것은 아니며 사용자에게 자격 증명을 수동으로 입력하도록 요청하는 "프록시 인증 필요" 대화 상자가 계속 나타날 수 있습니다.

프록시 서버에서 기본 인증 활성화

- 예를 들어 mitmproxy의 경우 --proxyauth 옵션을 사용하여 기본 인증을 활성화합니다[1]
- 이는 HTTP에서는 작동하지만 8.1.0 이후 mitmproxy 버전의 프로토콜 수준 버그로 인해 iOS의 HTTPS에서는 항상 작동하는 것은 아닙니다.[1]

프록시 서버의 특정 대상을 화이트리스트에 추가

- 인증이 필요하지 않은 특정 대상을 화이트리스트에 추가하려면 프록시 팀에 문의하세요.[2]
- 이를 통해 시스템 프로세스가 인증 프롬프트를 트리거하지 않고 인터넷 리소스에 액세스할 수 있습니다.

macOS에서 인증되지 않은 프록시에 대한 인증 비활성화

- macOS에서는 Kerberos 티켓을 프록시에서 가져오기 전에 시스템 프로세스가 리소스에 액세스하려고 하면 문제가 발생할 수 있습니다.
- 이러한 프로세스가 인증되지 않은 프록시를 사용하도록 허용하면 프롬프트를 해결하는 데 도움이 될 수 있습니다[1]

의도하지 않은 리디렉션에 대한 디버그

- 인증 대화 상자를 유발할 수 있는 의도하지 않은 리디렉션이 있는지 앱의 코드와 프록시 서버 구성 파일을 확인하세요[1]

요약하자면 iOS에서 프록시 인증을 완전히 자동화하는 완벽한 방법은 없지만 NEProxyServer를 프로그래밍 방식으로 사용하고 프록시 서버에서 기본 인증을 활성화하고 대상을 화이트리스트에 추가하고 리디렉션을 디버깅하는 것은 사용자 개입을 최소화하는 데 도움이 될 수 있는 몇 가지 기술입니다. 그러나 일부 경우에는 프로토콜 수준 문제로 인해 "프록시 인증 필요" 대화 상자가 계속 나타날 수 있습니다.

인용:
[1] https://stackoverflow.com/questions/53852899/ios-keep-showing-proxy-authentication-required-dialog-even-after-passing-usern
[2] https://forums.developer.apple.com/thread/112201
[3] https://smartproxy.com/configuration/how-to-setup-proxy-for-iphone
[4] https://www.howtogeek.com/293676/how-to-configure-a-proxy-server-on-an-iphone-or-ipad/
[5] https://discussions.apple.com/thread/250375534