Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. AdGuard Home
  3. AdGuard Home Wildcard aliases

AdGuard Home Wildcard aliases

Scheduled Pinned Locked Moved Solved AdGuard Home
porkbunwildcard
56 Posts 6 Posters 10.0k Views 6 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L lukas

    @girish update to latest Cloudron Version, bunny.net integration is working fine (thanks for this), but DoT on my Android Phone is still not working, in AdGuard Home Log I see:

    May 02 10:35:57 2023/05/02 08:35:57.599729 [error] handling tcp: reading msg: reading len: remote error: tls: bad certificate
    May 02 10:35:57 2023/05/02 08:35:57.907614 [error] handling tcp: reading msg: reading len: remote error: tls: bad certificate
    May 02 10:35:57 2023/05/02 08:35:57.914408 [error] handling tcp: reading msg: reading len: remote error: tls: bad certificate
    

    What is wrong? I use <clientname>.adguard.mydomain.TLD and I added an Alias (*.adgaurd) to AdGuard Home.

    What is wrong?

    Thank you and Regards,
    Lukas

    girishG Offline
    girishG Offline
    girish
    Staff
    wrote on last edited by
    #36

    @lukas If you go to Location view and click Save (without making any changes), does that help the situation ? That should maybe (re)trigger getting the cert.

    L 1 Reply Last reply
    0
    • girishG girish

      @lukas If you go to Location view and click Save (without making any changes), does that help the situation ? That should maybe (re)trigger getting the cert.

      L Offline
      L Offline
      lukas
      wrote on last edited by
      #37

      @girish did not help. This looks also not fine:

      bdca3c66-576e-4891-b1b3-9026d9d2be43-image.png

      Certificate chain is invalid

      girishG 1 Reply Last reply
      0
      • L lukas

        @girish did not help. This looks also not fine:

        bdca3c66-576e-4891-b1b3-9026d9d2be43-image.png

        Certificate chain is invalid

        girishG Offline
        girishG Offline
        girish
        Staff
        wrote on last edited by
        #38

        @lukas can you check the output of openssl x509 -text -in /etc/certs/_.adguard.domain.cert in the web terminal of adguard ? Does it seem like a valid Let's Encrypt certificate?

        L 1 Reply Last reply
        0
        • girishG girish

          @lukas can you check the output of openssl x509 -text -in /etc/certs/_.adguard.domain.cert in the web terminal of adguard ? Does it seem like a valid Let's Encrypt certificate?

          L Offline
          L Offline
          lukas
          wrote on last edited by
          #39

          @girish I see an output. Which part do you need from this ouput?

          girishG 1 Reply Last reply
          0
          • L lukas

            @girish I see an output. Which part do you need from this ouput?

            girishG Offline
            girishG Offline
            girish
            Staff
            wrote on last edited by
            #40

            @lukas The first few lines should give us the issuer and expiry like this:

            Certificate:
                Data:
                    Version: 3 (0x2)
                    Serial Number:
                        04:1d:71:e7:48:c7:d3:80:02:ac:c1:ac:5b:79:e5:3f:3e:4e
                    Signature Algorithm: sha256WithRSAEncryption
                    Issuer: C = US, O = Let's Encrypt, CN = R3
                    Validity
                        Not Before: Apr 15 02:11:00 2023 GMT
                        Not After : Jul 14 02:10:59 2023 GMT
            

            Then later down, you should also see the SAN section:

                        X509v3 Subject Alternative Name: 
                            DNS:*.girish.in
            

            Ideally, there should the wildcard and non-wildcard DNS listed above in your case.

            L 1 Reply Last reply
            0
            • girishG girish

              @lukas The first few lines should give us the issuer and expiry like this:

              Certificate:
                  Data:
                      Version: 3 (0x2)
                      Serial Number:
                          04:1d:71:e7:48:c7:d3:80:02:ac:c1:ac:5b:79:e5:3f:3e:4e
                      Signature Algorithm: sha256WithRSAEncryption
                      Issuer: C = US, O = Let's Encrypt, CN = R3
                      Validity
                          Not Before: Apr 15 02:11:00 2023 GMT
                          Not After : Jul 14 02:10:59 2023 GMT
              

              Then later down, you should also see the SAN section:

                          X509v3 Subject Alternative Name: 
                              DNS:*.girish.in
              

              Ideally, there should the wildcard and non-wildcard DNS listed above in your case.

              L Offline
              L Offline
              lukas
              wrote on last edited by lukas
              #41

              @girish

              Certificate:
                  Data:
                      Version: 3 (0x2)
                      Serial Number:
                          36:5d:97:51:3d:9f:45:89:58:45:67:c2:82:a6:83:3f:6d:50:69:0b
                      Signature Algorithm: sha256WithRSAEncryption
                      Issuer: CN = *.mydomain.cloud
                      Validity
                          Not Before: Apr  2 14:06:15 2023 GMT
                          Not After : Jun 10 14:06:15 2025 GMT
              

              and

              			        X509v3 extensions:
                          X509v3 Subject Alternative Name: 
                              DNS:mydomain.cloud, DNS:*.mydomain.cloud
              
              girishG 1 Reply Last reply
              0
              • L lukas

                @girish

                Certificate:
                    Data:
                        Version: 3 (0x2)
                        Serial Number:
                            36:5d:97:51:3d:9f:45:89:58:45:67:c2:82:a6:83:3f:6d:50:69:0b
                        Signature Algorithm: sha256WithRSAEncryption
                        Issuer: CN = *.mydomain.cloud
                        Validity
                            Not Before: Apr  2 14:06:15 2023 GMT
                            Not After : Jun 10 14:06:15 2025 GMT
                

                and

                			        X509v3 extensions:
                            X509v3 Subject Alternative Name: 
                                DNS:mydomain.cloud, DNS:*.mydomain.cloud
                
                girishG Offline
                girishG Offline
                girish
                Staff
                wrote on last edited by
                #42

                @lukas It's not getting the new certs for some reason - it's using the self-signed cert. If you go to Domains -> Renew all certs. Can you check the logs when it's renewing? Do you see any errors?

                L 1 Reply Last reply
                0
                • girishG girish

                  @lukas It's not getting the new certs for some reason - it's using the self-signed cert. If you go to Domains -> Renew all certs. Can you check the logs when it's renewing? Do you see any errors?

                  L Offline
                  L Offline
                  lukas
                  wrote on last edited by
                  #43

                  @girish I sent you the log-file via E-Mail

                  girishG 1 Reply Last reply
                  0
                  • L lukas

                    @girish I sent you the log-file via E-Mail

                    girishG Offline
                    girishG Offline
                    girish
                    Staff
                    wrote on last edited by
                    #44

                    @lukas From the logs, it seems the domain is not using Wildcard certs at all. If you go to Domains -> Edit -> Advanced. What is the certificate provider ? I suspect it's not wildcard . Can you change it and try to renew certs again?

                    I guess the reason is because you went from maybe Wildcard DNS to Programmatic DNS. In wildcard DNS, wildcard cert is not possible. But this is indeed a workflow/ui thing, that we have to consider in the future.

                    girishG 1 Reply Last reply
                    0
                    • girishG girish

                      @lukas From the logs, it seems the domain is not using Wildcard certs at all. If you go to Domains -> Edit -> Advanced. What is the certificate provider ? I suspect it's not wildcard . Can you change it and try to renew certs again?

                      I guess the reason is because you went from maybe Wildcard DNS to Programmatic DNS. In wildcard DNS, wildcard cert is not possible. But this is indeed a workflow/ui thing, that we have to consider in the future.

                      girishG Offline
                      girishG Offline
                      girish
                      Staff
                      wrote on last edited by
                      #45

                      The certificate provider should be Let's Encrypt Prod - Wildcard

                      L 2 Replies Last reply
                      0
                      • girishG girish

                        The certificate provider should be Let's Encrypt Prod - Wildcard

                        L Offline
                        L Offline
                        lukas
                        wrote on last edited by
                        #46

                        @girish this is set and I haven't change it. Just today changed the DNS Provider from Wildcard to Bunny

                        57f1d68f-ae04-4dab-9c26-02744c411ad3-image.png

                        1 Reply Last reply
                        0
                        • girishG girish

                          The certificate provider should be Let's Encrypt Prod - Wildcard

                          L Offline
                          L Offline
                          lukas
                          wrote on last edited by
                          #47

                          @girish so which steps do I need to go, to get this resolved?

                          Btw. I see there some "non-used" SSL certificates, is there any kind of "housekeeping" ?

                          girishG 1 Reply Last reply
                          0
                          • L lukas

                            @girish so which steps do I need to go, to get this resolved?

                            Btw. I see there some "non-used" SSL certificates, is there any kind of "housekeeping" ?

                            girishG Offline
                            girishG Offline
                            girish
                            Staff
                            wrote on last edited by
                            #48

                            @lukas I am a bit lost at this point. Are you able contact me at support@cloudron.io , so I can debug your instance?

                            L 1 Reply Last reply
                            0
                            • girishG girish

                              @lukas I am a bit lost at this point. Are you able contact me at support@cloudron.io , so I can debug your instance?

                              L Offline
                              L Offline
                              lukas
                              wrote on last edited by
                              #49

                              @girish sure, I give you access. I open a Ticket via Cloudron

                              girishG 1 Reply Last reply
                              1
                              • L lukas

                                @girish sure, I give you access. I open a Ticket via Cloudron

                                girishG Offline
                                girishG Offline
                                girish
                                Staff
                                wrote on last edited by
                                #50

                                @lukas thanks! As a heads up, I will only be able to debug a bit later today.

                                L 1 Reply Last reply
                                0
                                • girishG girish

                                  @lukas thanks! As a heads up, I will only be able to debug a bit later today.

                                  L Offline
                                  L Offline
                                  lukas
                                  wrote on last edited by
                                  #51

                                  @girish said in AdGuard Home Wildcard aliases:

                                  @lukas thanks! As a heads up, I will only be able to debug a bit later today.

                                  all right, thank you very much for your amazing support!

                                  girishG 1 Reply Last reply
                                  0
                                  • L lukas

                                    @girish said in AdGuard Home Wildcard aliases:

                                    @lukas thanks! As a heads up, I will only be able to debug a bit later today.

                                    all right, thank you very much for your amazing support!

                                    girishG Offline
                                    girishG Offline
                                    girish
                                    Staff
                                    wrote on last edited by
                                    #52

                                    @lukas Thanks for the access. I found the root cause. I (re)learnt about Let's Encrypts validation cache.

                                    <tech stuff>

                                    It's a very corner case but, unfortunately, it's hit in your situation.

                                    • You used to have wildcard DNS before. This results in Let's Encrypt HTTP validation (http-01)
                                    • You switched to Bunny DNS. The code now expects to do Let's Encrypt DNS validation (dns-01)
                                    • Turns out , Let's Encrypt will "remember" authorization for 60 days (in some places, it says 30 days). So, it will continue to ask for HTTP validation . The code gets confused because is really wants DNS validation.

                                    If you want to read more:

                                    • https://community.letsencrypt.org/t/flush-of-authorization-cache/188043
                                    • https://community.letsencrypt.org/t/let-s-encrypt-s-vulnerability-as-a-feature-authz-reuse-and-eternal-account-key/21687
                                    • https://community.letsencrypt.org/t/http-01-validation-cache/22529

                                    </tech stuff>

                                    I fixed our code to handle this - https://git.cloudron.io/cloudron/box/-/commit/15e0f11bb9815f5e4e7637cf29cf4fd17ccd2da2 . I applied the fix on your server and it seems to work. Atleast, the certs are correct now and we can now go back to checking if AdGuard is working for you. Can you check?

                                    L 1 Reply Last reply
                                    3
                                    • girishG girish

                                      @lukas Thanks for the access. I found the root cause. I (re)learnt about Let's Encrypts validation cache.

                                      <tech stuff>

                                      It's a very corner case but, unfortunately, it's hit in your situation.

                                      • You used to have wildcard DNS before. This results in Let's Encrypt HTTP validation (http-01)
                                      • You switched to Bunny DNS. The code now expects to do Let's Encrypt DNS validation (dns-01)
                                      • Turns out , Let's Encrypt will "remember" authorization for 60 days (in some places, it says 30 days). So, it will continue to ask for HTTP validation . The code gets confused because is really wants DNS validation.

                                      If you want to read more:

                                      • https://community.letsencrypt.org/t/flush-of-authorization-cache/188043
                                      • https://community.letsencrypt.org/t/let-s-encrypt-s-vulnerability-as-a-feature-authz-reuse-and-eternal-account-key/21687
                                      • https://community.letsencrypt.org/t/http-01-validation-cache/22529

                                      </tech stuff>

                                      I fixed our code to handle this - https://git.cloudron.io/cloudron/box/-/commit/15e0f11bb9815f5e4e7637cf29cf4fd17ccd2da2 . I applied the fix on your server and it seems to work. Atleast, the certs are correct now and we can now go back to checking if AdGuard is working for you. Can you check?

                                      L Offline
                                      L Offline
                                      lukas
                                      wrote on last edited by
                                      #53

                                      @girish it works great now, can't thank you enough for your constant and professional support! Very happy to use Cloudron guys 🙂

                                      1 Reply Last reply
                                      0
                                      • girishG girish has marked this topic as solved on
                                      • girishG girish

                                        @lukas yeah, there is a bug in their API or I don't know how to access wildcard dns entries via their API. I have sent them an email.

                                        I have an A record at adguard.cloudron.click. This works:
                                        
                                        $ curl -H "Content-Type: application/json" -X POST -d '{ "apikey" : "pk1_6e058c5e56b050d8052ee869dbd137857386dcfd403698b46e6d0e7694acf241", "secretapikey" : "sk1_xx" }' https://porkbun.com/api/json/v3/dns/retrieveByNameType/cloudron.click/A/adguard
                                        
                                        {"status":"SUCCESS","cloudflare":"enabled","records":[{"id":"313173661","name":"adguard.cloudron.click","type":"A","content":"89.58.59.112","ttl":"600","prio":"0","notes":null}]}
                                        
                                        
                                        I have an A record at *.test.cloudron.click . This does not work:
                                        
                                        $ curl -w '%{response_code}' -H "Content-Type: application/json" -X POST -d '{ "apikey" : "pk1_6e058c5e56b050d8052ee869dbd137857386dcfd403698b46e6d0e7694acf241", "secretapikey" : "sk1_xx" }' https://porkbun.com/api/json/v3/dns/retrieveByNameType/cloudron.click/A/*.test
                                        
                                            <div id="container">
                                                <h1>An Error Was Encountered</h1>
                                                <p>The URI you submitted has disallowed characters.</p>        <p>You can probably find what you're looking for on our <a href="/">homepage</a>.</p>
                                            </div>
                                        400
                                        
                                        I tried with percent encoding but that does not work either:
                                        
                                        $ curl -w '%{response_code}' -H "Content-Type: application/json" -X POST -d '{ "apikey" : "pk1_6e058c5e56b050d8052ee869dbd137857386dcfd403698b46e6d0e7694acf241", "secretapikey" : "sk1_xx" }' https://porkbun.com/api/json/v3/dns/retrieveByNameType/cloudron.click/A/%2A.test
                                        
                                        {"status":"SUCCESS","cloudflare":"enabled","records":[]}200
                                        
                                        B Offline
                                        B Offline
                                        ByMynix
                                        wrote on last edited by
                                        #54

                                        Hey @girish,

                                        I have the same problem now. I was a bit too stupid and first created a manual record in Porkbun which is logically not necessary and does not work. I have subsequently deleted this entry again. I tried via Cloudron (with Lets Encrypt Prod/ Wildcard and Porkbun DNS) to set an alias entry for AdGuard (*.adguard.mydomain.com). However, I get this error message:

                                        GET /api/v1/domains/my.domain/dns_check?subdomain=*.adguard 424 Failed Dependency Porkbun DNS error 400 {} 770.306 ms - 76
                                        

                                        I ran the DNS sync function in Cloudron, as well as renewed the certificates. However, nothing has helped

                                        girishG 2 Replies Last reply
                                        1
                                        • B ByMynix

                                          Hey @girish,

                                          I have the same problem now. I was a bit too stupid and first created a manual record in Porkbun which is logically not necessary and does not work. I have subsequently deleted this entry again. I tried via Cloudron (with Lets Encrypt Prod/ Wildcard and Porkbun DNS) to set an alias entry for AdGuard (*.adguard.mydomain.com). However, I get this error message:

                                          GET /api/v1/domains/my.domain/dns_check?subdomain=*.adguard 424 Failed Dependency Porkbun DNS error 400 {} 770.306 ms - 76
                                          

                                          I ran the DNS sync function in Cloudron, as well as renewed the certificates. However, nothing has helped

                                          girishG Offline
                                          girishG Offline
                                          girish
                                          Staff
                                          wrote on last edited by
                                          #55

                                          @ByMynix Porkbun support never got back to us and we gave up trying after reminding them 2-3 times. Their API is broken wrt wildcards (well, atleast it's undocumented). I recommend using some other DNS provider if you want this feature.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Bookmarks
                                          • Search