How to Setup & Deploy Proxy Settings on an iOS Device

This week I’ve been mainly trying out configuring web-proxy settings for iPads and iPhones. This is something that may not be very clear and so I have documented a few steps in this post.

One of the advantages of the proxy settings for iOS device, is that they are tied to the particular network you set them on. For example, if I connect to ‘Amsys WiFi’ and fill in a proxy setting, and then return home to my WiFi, the proxy setting will only be used on the ‘Amsys WiFi’ network.

Add proxy server settings to my iPad / iPhone / iPod Touch

1. Navigate to the ‘Settings’ app and tap on ‘WiFi’

 

Set up Proxy Server on iOS

 

2. Next, tap on the WiFi network you need to add the proxy to. This should be one you are currently connected to.

 

Set up Proxy Server on iOS

 

3. This next page will display all of your network information, for the network you are connected to. Scroll down to the ‘HTTP Proxy’ settings and tap ‘Manual’.

 

Set up Proxy Server on iOS

 

4. A new box will appear below the setting. Fill in the Proxy Server address, the Port and (if you use it) turn on Authentication and fill in a username and password. These details should be available from whoever is responsible for your network.

 

set up proxy server iOS

 

Once complete, exit the ‘Settings’ App and you’re good to go!

 

But I’m a Systems Administrator, I know this! How can I deploy this out to my users?

There are a number of ways to deploy this out to users, en masse.

The first, and simplest is using the Apple iPhone Configuration Utility. This provides the ability to create a Configuration Profile that can be installed to any local (read ‘USB’) connected iOS devices or emailed out to users to install themselves.

The second, and easiest (situation dependent) is using Apple’s Configurator. This is only really ideal if you’ve had a box of iOS devices delivered, not configured, then this can be ‘imaged’ with the new profile prior to be given out to a user.

The third method requires a MDM server (such as Apple’s Profile Manager Server – see the “how to configure profile manager” and “how to solve configuration problems” posts) with a method for the devices to talk to it without having the proxy settings configured. These can push out any proxy settings (including new ones) over the air.

Sounds great, but I’ve noticed there’s a field missing?

I’m afraid that it’s true. There is no GUI or Configuration Profile method to set Proxy exceptions. For some solutions, this can be a deal breaker. Dependant on the use of the iOS devices it may be required to have local addresses, or the MDM server, set as exclusions.

There are two solutions to this problem. I’ll glance over them here as they are beyond this blog post.

Solution 1: Routing. 

Depending on the exact configuration of your network, and of the routing devices that make it up, it maybe possible for the network routers to forward all local traffic internally and the rest directly to the proxy (configured by IP Address of the source and / or destination, for example).

Solution 2: Proxy Auto-Configuration File (PAC File).

This requires the configuration of a PAC File and hosting this file on an internal server. This file can contain the proxy server address, port number and any required exclusions. The iOS device can pull and apply the settings from this.

On the iOS device, in the same place you set the manual proxy, is the option to set an ‘Automatic’ Proxy. Simply change the switch to ‘Auto’ and fill in the details of the server and PAC file and you should be done.

 

Conclusion

A bit of a split End-User / Administrator post today. Hopefully this will answer any questions you have on Proxy settings and iOS, if not, then let me know in the comments below.

As always, please feel free to ask questions, or make suggestions for future topics in the comments below.

 

Further Reading

For more info on this topic, check out my follow up post on using .pac in iOS which will show you some basic ways in relation to creating, serving and using the .pac file.