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.