Version
4.0.65.18
Description
Calling HTTP services outside the network during local development when having an enterprise proxy that expects authentication in between and a WPAD file set up on system level, the function app host does not correctly authenticate which leads to a HTTP 407 response.
Setting the commonly known environment variables ALL_PROXIES, HTTP_PROXY, HTTPS_PROXY and NO_PROXY does not work either as this leads to a low-level crash (observed on macOS) of the host as soon as authentication information is provided in one of those environment variables. Also, this is not a good way to do it.
Expectation: the Azure Function App host should provide a proper way of dealing with an enterprise proxy and auth as this is a common requirement for developers and can only be worked around with by massive investment of resources. At the very least the environment variables solution needs to work (which it did in the past).
Steps to reproduce
- Create a minimal Azure Function App project (in-process)
- Add an HTTP client in the startup
- Create a function (trigger does not matter) that makes an HTTP call to a service outside your network
- Configure a proxy server that requires authentication (NTLM first, basic auth as fallback) on system level (ideally as a WPAD file to reproduce as closely as possible)
- Trigger the function
Current result: HTTP 407 response
Version
4.0.65.18
Description
Calling HTTP services outside the network during local development when having an enterprise proxy that expects authentication in between and a WPAD file set up on system level, the function app host does not correctly authenticate which leads to a HTTP 407 response.
Setting the commonly known environment variables ALL_PROXIES, HTTP_PROXY, HTTPS_PROXY and NO_PROXY does not work either as this leads to a low-level crash (observed on macOS) of the host as soon as authentication information is provided in one of those environment variables. Also, this is not a good way to do it.
Expectation: the Azure Function App host should provide a proper way of dealing with an enterprise proxy and auth as this is a common requirement for developers and can only be worked around with by massive investment of resources. At the very least the environment variables solution needs to work (which it did in the past).
Steps to reproduce
Current result: HTTP 407 response