1 Reply Latest reply on Jul 9, 2014 9:59 AM by Jon Tara

    iPhone proxy ignored

    Alex Sabchyshyn

      Hello,

       

      I'm assigned to a project to troubleshoot some issues with existing iPhone application which was built using RhoMobile framework. I never used RhoMobile before so I don't know much about it.

       

      This application makes async https requests to our production server and displays some data and images. My first step was to capture all https requests made by this application by using proxy.

       

      So I installed Fiddler and configured iPhone to use proxy, installed root certificate as needed. Checked the browser and all traffic is passing through my proxy.

       

      But the problem is that async https requests made by application are not going through proxy. Application loads images - and https image requests are going though.I thought it was Fiddler problem but then switched to Burp Proxy and the same thing.

       

      Like I mentioned - I'm new to RhoMobile. I don't have experience building the app or compiling the code.

       

      Is there a reason that these requests would not go through the OS configured proxy? Are there known issues or restrictions that I should be aware of?

       

      I thank you in advance for your help.

       

      Alex

        • Re: iPhone proxy ignored
          Jon Tara

          Proxy for apps is not automatic. It is up to the app to retrieve the proxy settings from iOS and to use them. Apple (apparently) does not require App Store apps to honor the proxy settings, and so implementation in all App Store apps is spotty.

           

          I am assuming (based only on your post) that Rhodes does not automatically apply the proxy settings or provide any way to retrieve them. Based on the Network documentation, it appears that RhoElements does have some proxy support. I can't comment further, since I don't use RhoElements:

           

          Connecting through Proxies

          Because the network module is protocol agnostic, it will not communicate through HTTP proxies to reach a specified URL. In order to determine if you are connected when sitting behind a proxy you should configure the network plugin to attempt to connect to your proxy on the appropriate port. A successful connection to the proxy should be taken to assume the device is connected to a network. When configuring your WAN connection bear in mind that the proxy settings defined in the RhoElements configuration file will take precedence.

           

          If you want Rhodes to support this, you can submit an Issue with a feature request.

           

          Issues · rhomobile/rhodes · GitHub

           

          If you aren't using RhoElements, I think you will either need to provide a way in your app for the user to supply Proxy settings, or else write a small native extension to retrieve the proxy settings from iOS and then use those settings in your AsyncHttp (or Network) calls.