Lately I had a problem with renewal due to blocked access to port 80.
After I unlocked it in firewall - renewal ran properly.
However I'd rather keep this port locked, and have only 443 open for https.
Any ideas or maybe I am missing something, please?
Best,
MaciekRyd
Hello @MaciekRyd, welcome to the Let's Encrypt community. 
You would have to not use the HTTP-01 challenge of the Challenge Types - Let's Encrypt, most likely that would be the DNS-01 challenge.
Edit: and as @MikeMcQ points out below the TLS-ALPN-01
Please fill out the fields below so we can help you better. Note: you must provide your domain name to get help. Domain names for issued certificates are all made public in Certificate Transparency logs (e.g. crt.sh | example.com), so withholding your domain name here does not increase secrecy, but only makes it harder for us to provide help.
My domain is:
I ran this command:
It produced this output:
My web server is (include version):
The operating system my web server runs on is (include version):
My hosting provider, if applicable, is:
I can login to a root shell on my machine (yes or no, or I don't know):
I'm using a control panel to manage my site (no, or provide the name and version of the control panel):
The version of my client is (e.g. output of certbot --version or certbot-auto --version if you're using Certbot):
Thank you for assisting us in helping YOU!
It would have been helpful to have more answers to the form you were shown and that Bruce re-posted.
But, the TLS-ALPN challenge uses port 443. However, support for this depends on your system. For example, if you use Apache you could look at its mod_md