If you set the environment variable http_proxy, splunkweb and splunkd should obey it, and definitely do in at least some cases. I haven't looked to see if all cases obey it correctly. I don't know if we've officially committed to supporting HTTP proxies, so unsure if any lapses would be bugs or feature requests.
In any event, on UNIX, this is as simple as adding
On windows, because of the way splunkd launches as a service, I'm uncertain, but in the very least you can create a global environment variable named http_proxy with the value as desired.