I have struggled with this one for a long time, tried dozens of things that were suggested by others, and finally cracked it this morning! I have Symantec Endpoint Protection installed. I had to go to Network Threat Protection -> Options -> Change Settings and under Stealth Settings, remove checks from all 3 boxes.
What's important is that this seems to be a case of your firewall, whatever kind you are running, trying to protect you from some transaction that is required by Facebook, so if you have a different firewall than Symantec Endpoint, look for some setting that might be filtering out what Facebook needs.
It is unfortunate that Facebook gives this very misleading error message under these conditions! Symantec, at least, does warn you in the Settings box that enabling these settings may interfere with using some websites.