After spending a day trying to figure out why my website was not visible from within Iran, I finally figured it out. My website was timing out every single time. Then I noticed in Firefox status bar that my sites were crashing during the TLS handshake phase. I did all kinds of research trying to see if the browser had a default time setting for the TLS handshake. I could not find anything.
But then it occurred to me that maybe I could bypass the TLS handshake by doing a simple http request. Sure enough! Iran is blocking all https requests from within Iran. In other words, encryption of the website is not possible from within iran. This is a sure fire way for the Iranian government to spy on their citizens.
I didnt know why I wasnt getting any emails from within Iran for the past 6-12 months but now I know. Pass the word around.