I advise customers to use the HTTP.GenerateResponse event. In a single rule you can populate the body from a use-defined property which has your proxypac content (either static or dynamically built by preceding rules), then add any http cache headers you need with the Header.Response.Add event(s). Sample attached. By the way, criteria is only on requests to the proxy.pac, which I check at the ruleset level already! As a prerequisite you only need a proxy listener on port 80, and - unlike if using the file server on port 4713 and forwarding rules - no dummy file is needed on the MWG, so the whole thing sync's across your MWGs via the policy.