iOS HTTP Proxy Settings Ineffective

My issue: I go through Settings>Wi-fi>The i button next to my network name>Configure Proxy>Manual. When entering my proxy's hostname, port and authentication, everything seems fine. It allows me to save the info and gives me no error prompts. However, the proxy does not actually work. The same one works perfectly when using chrome extensions to connect to it. I am 100% sure I am entering the information correctly. Questions: Does anyone else experience this issue? If so, do you know of why? If so, do you know a workaround? Device Info: iPhone Xs on iOS 15.4.1 (this issue has persisted since I first tried on 14.8, and was not fixed by installing the update.) Network Info: IP and DNS are on automatic configuration

Post not yet marked as solved Up vote post of dulcelanac Down vote post of dulcelanac
4.7k views

Replies

However, the proxy does not actually work.

Can you expand on what you mean by that? If you write a small app that issues a request via NSURLSession, does that fail because the network your iPhone is on only allows access to the Internet via the proxy?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Still broken in iOS 16.1 (2022-10-28).

I have an iPhone 11 that refuses to use the proxy (tried forgetting wifi, after a cold restart I could connect). But I have other test devices where the proxy works fine on iOS 16.

@eskimo As in, you enter proxy information, even a random invalid address/port, and when you access the network, all data comes thru uninterrupted. As if the proxy setting does not exist or is ignored entirely.

I’m confused by the developer aspect of this issue. Reading through your post it seems like you can reproduce this entirely with built-in software. That is, you’re setting the System proxy configuration using Settings and then testing it using Safari.

Is that right?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Yes, I encounter the same issue. When I set proxy through Settings -> WLAN -> HTTP PROXY -> Configure Proxy -> Manual, input the server and the port. Everything seems ok. But it doesn't take effect. When I open Safari, it doesn't use the proxy at all.

  • If it helps, all browsers including WebKit can cache proxy information. You may need to take care you are not resuming a previous session. The site cache you are loading from might show stale information from before the proxy was set. WebKit runs in another process that might be caching some of this stuff. I'm not sure if deleting the app is enough to evict this cache. With proxy auto-configuration, the PAC may be cached too and pick up an old version. Wipe the device if you can for testing.

  • Additionally if running in the simulator, you need to provide environment variables in the run settings to use the proxy: http_proxy and https_proxy

Add a Comment

When I open Safari, it doesn't use the proxy at all.

In that case I’m going to suggest you raise this in Apple Support Communities. Those are run by Apple Support, who are the folks responsible for the user-level behaviour of the system.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

I don't know if it will work for your case, but this may work for you:

Settings > General > Reset > Reset (button) > Reset Network Settings (your phone will restart and you will be logged out of your access points, so have your password written down/handy)

Set up your access point again. Set up your manual proxy again. Launch your app to trigger allow connection prompt. If you're using a third party proxy, fetch the SSL certs again. Trust the certs again. Relaunch the app and now it should work.

This also is the ONLY thing that has worked for me when I encounter the iOS bug where iOS refuses to embrace the proxy config no matter how set up it (fakely) appears to be. You can uninstall and reinstall your certs until the end of time, but if it won't connect to Charles or Proxyman or whatever you're using, it's not going to ever work. Reset your network settings. It's the only way I've found to de-confuse iOS.