I'm not looking for help, I'm looking to educate others to save them the pain that I suffered in solving this issue. Have you ever been to a site that pops up an error that says one of these two things: "Error 404" or "Error 10060". Well, this is a very painful error mostly because it is very vague and contains a whole slew of troubleshooting to even point you in the proper direction.
To start I'll explain the error descriptions.
1. Error 404 - HTTP Host is Unreachable - Helpful right, so according to this message your host is unreachable. So by you typing http://www.google.com you would expect just that to load, Google. But instead you get this error message.
Unfortunately this can be due to security software, network security, or a domain conflict.
2. Error 10060 - Host didn't respond within allocated time socket has been closed; Proxy. - This error indicates a Proxy Server may be the culprit, but all you really know are the Host didn't respond within the allocated time. So the socket forcefully closed and threw an exception.
So how do you even begin troubleshooting these highly vague errors? They have so many variables, that it is a bit overwhelming. You have all of these to worry about:
That is a lot to conceive. Encase you don't know, your computer connects to a Local Area Network Port. Which is usually attached to your Router. The Router though is connected to a Wide Area Network which will go out to your Local Internet Service Provider. Then your Local ISP will connect to it's regional Network. Then it will continue to move upward the network until it reaches the Cloud or the Internet.
As you can see that is a lot of troubleshooting.
Your thinking with all those variables how did you know there was a problem? Well... That is easy I wrote an application that has a service that connects to our Domain / Dedicated Server. Customers started off without a problem, then would call our offices saying "This feature used to work, but now it doesn't." Which means all these lovely issues began trickling up our office support queue until it finally reached me.
So I approached it like anyone should do, Small and Easy. The simplest approach is usually the best approach, over thinking or turning a simple issue into a complex issue will continue to make your objective very painful to achieve.
1. I remotely connected to our clients computer and verified the error.
2. When I noticed the service and site through a browser received those errors I searched the machine for Firewall.
3. I modified the Firewall parameters to ensure the traffic was allowed.
4. Disable Web Proxy Settings - LAN Settings
5. Connections Tab of Internet Options.
Now if you can reach the site this will indicate the issue is with a Time Out Settings. Which you can change here:
1. WIndows Key + R
3. Navigate to: "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3Proxy\Parameters"
4. Right Click "RequestTimeoutSecs" and click Modify
5. The recommended time is 180
6. Repeat Step 1
8. Click Okay
9. net stop iisadmin /y
10. Press enter
11. net start iisadmin /y
12. Press enter
You may have to restart additional services. If this doesn't work, you'll be navigating back to:
1. Right Click "SocketIOTimeoutSecs" and Modify
2. Decimal 300
3. Restart the World Wide Web Publishing Services
4. Test the Settings
5. Add TcpMaxDataRetransmissions values
Okay, if your issue is still persisting. What the heck? Where do you go from here? You've done almost everything you can to see if it will connect.
1. Windows Key + R
3. ping "Domain_Name_Here"
4. tracert "Domain_Name_Here"
If you see them reaching the host successfully, it could be another underlying issue.
After this point I would use Fiddler and WireShark to monitor the traffic and request. It may show malformed packets which can be rejected by security. Now, if it shows an active connection with Fiddler then turns to a red request we have found an underlying problem.
That means you are now at a cross road, as you don't have any control over your Internet Service Provider. Something within the network may be the cause. For instance several cellular networks use Proxies which are used to filter, monitor, and throttle connections. They may contain security within there internal network that may block sites.
I'll use Verizon in this case, because I've been working with them to solve this issue. As our site receives twenty thousand hits a day. Good traffic for our company, but the issue did begin to crop up. It turns out the data center we host with, is reliant on IPV4. Verizon is supposedly transitioned in entirety to IPV6. Which means, our domain can not support those host at this point.
I'm still on a quest to solve this issue now consulting with our Data Center but to help save people the head ache I encountered I thought I'd share.