After research I found that alot of people facing the same issue. But so far I don't solution, this happened after I switch my server to linode.com
lets take an example. www.acemark2u.com is one of the website hosted under the linode server,
when I try to debug in https://developers.facebook.com/tools/debug/og/object/, it just couldn't fetch the scrape information correctly, and if I try with one of the page www.acemark2u.com/about-us, it just show me the error "Error parsing input URL, no data was cached, or no data was scraped."
weird things happen. when I try to debug using ip address 106.187.35.114/~acemark2 everything goes smooth. fetching nicely, no error 404 for pages.
I suspect it might caused by "gethostbyaddr" function (ref: http://www.gearhack.com/Forums/DisplayComments.php?file=Computer/Network/Internet/Preventing_Your_Web_Server_From_Blocking_Facebook_Share) but so far I don't have solutions.
For people experiencing the same issue but for different causes, I discovered a few interesting things about how Facebook "scrapes" pages, checking the logs of the server while doing some trials.
First of all: if you never tried to share a page with FB, FB never tried to scrape it, and it will not try to do so if you only put the url in the Debug tool.
That's the first reason because you get the error: it just states that FB has no information on the page, you must "force" it to scrape the page.
The first time you try to share a page, FB scrapes it (asks your server the first 40k of the page and analyse the opengraph tags).
What can happen is that you do not see the image: Facebook Share Dialog does not display thumbnails one first load
The reason is that FB behind the scenes is still scraping your page and caching the image. The next time, in fact, you have also the image.
How to solve it? Pre caching: https://developers.facebook.com/docs/sharing/best-practices#precaching
or simply add
<meta property="og:image:width" content="450"/>
<meta property="og:image:height" content="298"/>
i found the solution at last.
In my default DNS A/AAAA record i did not remove these few ip
2400:8900::f03c:91ff:fe73:a95d Default
mail 2400:8900::f03c:91ff:fe73:a95d Default
www 2400:8900::f03c:91ff:fe73:a95d Default
that's why some of the users will pointed to the above IP when they access via proper web address.
This question has already accepted answer but in case this answer doesn't work for anyone here is what worked for me.
The URL which I provided in the og:url
was protected URL i.e. only those users can view the page pointed by the URL who are signed-in. When I changed the URL to point to my homepage which can be viewed by both signed-in or signed-out users viz. http://www.ercafe.com everything worked fine.
We had a similar issue on one of our sites.
We resolved this by disabling apache mod_security while we use the facebook object debug tool to "fetch new scrape information"
For me the solution was replacing the DNS A records
example.sk 3600 1.2.3.4
www.example.sk 3600 1.2.3.4
to
example.sk 3600 1.2.3.4
*.example.sk 3600 1.2.3.4