That's a precondition to use letsencrypt: it's necessary to have a publicly accessible web server, it makes no sense to have a public certificate if you don't have one. There are lot of possible reasons your site can't be accessed from Letsencrypt servers (and my computer too), and that's a problem very difficult to debug from the outside... If it's the notorious China firewall, I'm afraid that Letsencrypt can do nothing about it.
for getting a certificate with the http challenge, your computer must be able to:
(1) receive connections on port 80 and 443, the 443 port encryption should work fully (not blocked by smart firewall)
(2) connect to the outside on port 443 (idem, encryption should not be blocked by smart firewall)
(3) be able to do dns requests (obviously, that’s a general condition to use internet)
If you can tick all that, I think you should be fine (that’s my personal experience, I’m not a Let’s encrypt engineer)