I read that browser or application knows that in the beggining it connect to proxy, and sends HTTP CONNECT request. But when I try to CONNECT to rediff.com from iOS Safary, in my local proxy (which works in NetworkExtension) I get GET method instead of CONNECT and close this connection with Error as was in SwiftNIO with the Connect Proxy example.
Why wrong method come to proxy for this website, how to handle this problem?
Nope, this is a standard behaviour: by default, most URLs will create a HTTP connection, not a HTTPS one. This is a long-standing issue for web browsers. There are some ways to change this default (mostly by using HSTS Preload) but that is not mandatory for websites.