# Get Let's Encrypt Certificates With Blocked Ports by ISP

**URL:** <https://community.letsencrypt.org/t/get-lets-encrypt-certificates-with-blocked-ports-by-isp/41483>\
**Category:** Help\
**Created:** [September 4, 2017, 3:40am UTC](https://community.letsencrypt.org/t/get-lets-encrypt-certificates-with-blocked-ports-by-isp/41483 "2017-09-04T03:40:26Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![riparise](https://avatars.discourse-cdn.com/v4/letter/r/f0a364/32.png) [@riparise](https://community.letsencrypt.org/u/riparise)\
**Post date:** [September 4, 2017, 3:40am UTC](https://community.letsencrypt.org/t/get-lets-encrypt-certificates-with-blocked-ports-by-isp/41483/1 "2017-09-04T03:40:26Z")

</div>

I am creating a LAMP server for a personal cloud (Nextcloud). I want to download the SSL certificated but my ISP block the inbound communication of HTTP in the port 80 and HTTPS in the port 443, but my ISP allows HTTPS over 80 and HTTP over 443 (or any other door).

I have no problem using a different port for HTTP ou HTTPS (with self signed certs) over other ports but I found out that in order to get the LE certs they have to test on your ports 80 and 443.

Is there any workaround like using other ports or marking the connection so it does not look likes HTTP/HTTPS? Can I use UDP instead of TCD (I am not sure that it will help though)

---

<div class="post-metadata">

**Author:** ![schoen](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/schoen/32/79_2.png) [@schoen](https://community.letsencrypt.org/u/schoen)\
**Post date:** [September 4, 2017, 5:36am UTC](https://community.letsencrypt.org/t/get-lets-encrypt-certificates-with-blocked-ports-by-isp/41483/2 "2017-09-04T05:36:47Z")

</div>

Hi @riparise,

Let’s Encrypt offers three validation methods. One of them requires inbound TCP port 443, while another requires inbound TCP port 80. You cannot choose another port and you cannot use UDP instead of TCP.

The third method requires the ability to create requested records in your DNS zone in order to prove that you have control over the DNS records for your domain name. Can you do that?

---

<div class="post-metadata">

**Author:** ![riparise](https://avatars.discourse-cdn.com/v4/letter/r/f0a364/32.png) [@riparise](https://community.letsencrypt.org/u/riparise)\
**Post date:** [September 4, 2017, 2:13pm UTC](https://community.letsencrypt.org/t/get-lets-encrypt-certificates-with-blocked-ports-by-isp/41483/3 "2017-09-04T14:13:09Z")

</div>

Hi Schoen,

Thank you for your prompt answer. I tried to set up the DNS challenge using  
sudo certbot certonly --manual --preferred-challenges dns

I did the both validations in the txt record and checked in the [https://mxtoolbox.com/](https://mxtoolbox.com/) if the records were already working before continuing.

Nonetheless I received the error  
ReadTimeout: HTTPSConnectionPool(host=‘[acme-v01.api.letsencrypt.org](http://acme-v01.api.letsencrypt.org)’, port=443): Read timed out. (read timeout=45)  
And the same error using the staging environment  
ReadTimeout: HTTPSConnectionPool(host=‘[acme-staging.api.letsencrypt.org](http://acme-staging.api.letsencrypt.org)’, port=443): Read timed out. (read timeout=45)

Furthermore when I check in [https://letsencrypt.status.io/](https://letsencrypt.status.io/) it seems like everything is working. Do you have any Ideas?

I am using Apache2, PHP7.0, and Nextcloud.

---

<div class="post-metadata">

**Author:** ![sahsanu](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/sahsanu/32/89984_2.png) [@sahsanu](https://community.letsencrypt.org/u/sahsanu)\
**Post date:** [September 4, 2017, 5:27pm UTC](https://community.letsencrypt.org/t/get-lets-encrypt-certificates-with-blocked-ports-by-isp/41483/4 "2017-09-04T17:27:54Z")

</div>

Hi @riparise,

> [@riparise](#):
>
> sudo certbot certonly --manual --preferred-challenges dns

It should be good to show the entire output of that command (add --staging to the command so you won't reach rate limits).

Could you please show the output of these commands?.

```
curl -IkL https://acme-v01.api.letsencrypt.org
curl -IkL https://google.com

```

Cheers,  
sahsanu

---

<div class="post-metadata">

**Author:** ![schoen](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/schoen/32/79_2.png) [@schoen](https://community.letsencrypt.org/u/schoen)\
**Post date:** [September 4, 2017, 6:05pm UTC](https://community.letsencrypt.org/t/get-lets-encrypt-certificates-with-blocked-ports-by-isp/41483/5 "2017-09-04T18:05:32Z")

</div>

Those errors refer to a blocked _outbound_ connection from you to the Let’s Encrypt server, not to an attempt to use an inbound port.

The commands that @sahsanu has suggested should help diagnose this problem.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/letsencrypt/original/3X/c/a/ca6c06ea1ea201324bba7048c6841ce60236468d.png) [@system](https://community.letsencrypt.org/u/system)\
**Post date:** [October 4, 2017, 6:05pm UTC](https://community.letsencrypt.org/t/get-lets-encrypt-certificates-with-blocked-ports-by-isp/41483/6 "2017-10-04T18:05:39Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
