We have a Windows Server 2008 R2 that hosts an ASP.Net Web API. This Web API makes a series of 3 calls to a SOAP Web Service running in a different ASP.Net application on the same server.
One of our developers installed Fiddler on the server to debug the calls from the Web API to the Web Service.
After debugging and uninstalling Fiddler v5.0.20182.28034 for .NET 4.6.1, calls from the Web API are still being directed to the 127.0.0.1:8888 proxy address.
We have reinstalled Fiddler and started and Stopped it gracefully to be sure the Internet Options are being set back.
We have searched the Web API application directory and its Web.config file for a defaultProxy setting.
We have searched the entire Microsoft.Net directory in Windows and all machine.config and Web.config (even *.config) files for any defaultProxy setting and have found only '<proxy usesystemdefault="true" />' yet after repeated reboots and install/uninstall of Fiddler, we cannot get the Web API to work without Fiddler installed and running on the server.
As soon as we shut Fiddler down, the Web API calls to the Web Service begin to fail with the error "...target machine actively refused it 127.0.0.1:8888"
Can you help me determine what is happening?
Thanks in advance.
6 Answers, 1 is accepted
Few questions:
- Is it possible to ask the developer what did he change, so you can revert it back? The proxy settings can be changed in many places including inside the compiled assemblies, so it may be hard to find it without information what have been changed.
- What are the current proxy settings in Internet Options -> Connections -> LAN settings? Screenshot would be great.
- What are the current WinHTTP proxy settings? Type "netsh winhttp show proxy".
Fiddler changes only the options found in Internet Options. If the proxy settings does not point to 127.0.0.1:8888 then Fiddler should successfully changed them back to the original ones.
Regards,
Alexander
Progress Telerik
I tried asking all developers who had access to the server and none of them remebers doing anything to redirect traffic from .Net Framework to loopback on port 8888
Current settings in Internet Options are "Automatically detect settings."
"Use a proxy server for your LAN..." is not checked so controls for configuring proxy are grayed out.
WinHTTP proxy is set to "Direct access (no proxy server)."
Is "Automatically detect settings" a requirement in your network? What happens when you turn it off?
Another idea which I should've asked you in the first place - can the machine access anything at all? I'm trying to figure out if it is problem only when ASP.NET is trying to contact remote server or the whole machine does not have network access when Fiddler is off.
Regards,
Alexander
Progress Telerik
Internet access is fine for everything other than the ASP.Net API in question.
I tried turning off Automatically detect settings, but it makes no difference. Apparently .NET Framework does not use WinInet for internet access so these settings don't matter.
I have been searching for a .config file that might have the proxy set to 127.0.0.1:8888, but there are so moany of them and I haven't found anything yet that doesn't specify to use the default system proxy. But I don't know how the default system proxy is set, Is that the same as WinHTTP proxy? I checked the settings there and it is also set to default system proxy.
I appreciate your help.
Few things to check:
1. Windows' hosts file.
2. IIS itself. It may contain proxy configuration.
Would it be possible to share the contents of the following folder - %userprofile%\Documents\Fiddler2\Scripts?
Regards,
Alexander
Progress Telerik
Hi Alexander,
I have found the cause and corrected it. I had to do a global search for "proxy" in "*.config" files on all drives to find that the local Web.config file in the project had been altered to proxy through 127.0.0.1:8888.
Thanks for all your help and suggestions.
Regards,
Terence Wight