Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Certificate long time to issue

    Scheduled Pinned Locked Moved ACME
    21 Posts 4 Posters 1.9k Views
    Loading More Posts
    • 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.
    • P
      PiBa @maverick_slo
      last edited by

      @maverick_slo
      How long does it take?: time netstat -an -p tcp | grep LISTEN

      M 1 Reply Last reply Reply Quote 0
      • M
        maverick_slo
        last edited by

        instant

        While in "wait mode" (nestat) checks before it even starts to listen on 80:

        tcp4       0      0 192.168.166.76.2222    *.*                    LISTEN
        tcp4       0      0 192.168.166.77.443     *.*                    LISTEN
        tcp4       0      0 192.168.166.77.80      *.*                    LISTEN
        tcp4       0      0 127.0.0.1.44443        *.*                    LISTEN
        tcp4       0      0 192.168.166.76.10050   *.*                    LISTEN
        tcp6       0      0 *.44441                *.*                    LISTEN
        tcp4       0      0 *.44441                *.*                    LISTEN
        tcp4       0      0 *.44442                *.*                    LISTEN
        tcp6       0      0 *.44442                *.*                    LISTEN
        tcp4       0      0 192.168.166.76.443     *.*                    LISTEN
        

        And when it listens and actually doing verification:

        tcp4       0      0 *.80                   *.*                    LISTEN
        tcp4       0      0 192.168.166.76.2222    *.*                    LISTEN
        tcp4       0      0 192.168.166.77.443     *.*                    LISTEN
        tcp4       0      0 192.168.166.77.80      *.*                    LISTEN
        tcp4       0      0 127.0.0.1.44443        *.*                    LISTEN
        tcp4       0      0 192.168.166.76.10050   *.*                    LISTEN
        tcp6       0      0 *.44441                *.*                    LISTEN
        tcp4       0      0 *.44441                *.*                    LISTEN
        tcp4       0      0 *.44442                *.*                    LISTEN
        tcp6       0      0 *.44442                *.*                    LISTEN
        tcp4       0      0 192.168.166.76.443     *.*                    LISTEN
        
        

        I`m really out of ideas but unable to upgrade to alpha 😭

        P 1 Reply Last reply Reply Quote 0
        • M
          maverick_slo @PiBa
          last edited by

          @piba said in Certificate long time to issue:

          ng does it take?: tim
          Do you suspect haproxy?

          There was 1.8.19 just 2 days ago and already here: https://www.freshports.org/net/haproxy

          :)

          1 Reply Last reply Reply Quote 0
          • P
            PiBa @maverick_slo
            last edited by

            @maverick_slo said in Certificate long time to issue:

            instant

            I guess i would put several more debug output statements like _debug "Using: netstat" into the acme.sh code surrounding functions that can be 'suspected' they might take a while and are between the parts where the current logs show the time is being spend.. Try and figure out what exact command is really taking the time..

            1 Reply Last reply Reply Quote 0
            • M
              maverick_slo
              last edited by

              Or I could just migrate to DNS verification which is better anyway :)

              1 Reply Last reply Reply Quote 0
              • M
                maverick_slo
                last edited by

                Ummm one more observation.
                Cert was renewed today at 3:16 and it had 14 names in it. It renewed in 180 seconds which is waaaay faster than renew via WebGui.

                So I`m calling it bug or regression or whatever :)

                SYS LOG:
                Feb 14 03:16:00 	php 		Acme, renewing certificate: EXCHANGE_LE
                Feb 14 03:18:37 	php 		Acme, storing new certificate: EXCHANGE_LE
                
                1 Reply Last reply Reply Quote 0
                • M
                  maverick_slo
                  last edited by

                  At home I have same setup 12 domains 30 seconds but I`m on alpha build 2.4.5 :)

                  1 Reply Last reply Reply Quote 0
                  • M
                    maverick_slo
                    last edited by

                    OK ACME is to blame:

                    This code:

                    if _exists "netstat"; then
                        _debug "Using: netstat"
                        if netstat -h 2>&1 | grep "\-p proto" >/dev/null; then
                          #for windows version netstat tool
                          netstat -an -p tcp | grep "LISTENING" | grep ":$_port "
                        else
                          if netstat -help 2>&1 | grep "\-p protocol" >/dev/null; then
                            netstat -an -p tcp | grep LISTEN | grep ":$_port "
                          elif netstat -help 2>&1 | grep -- '-P protocol' >/dev/null; then
                            #for solaris
                            netstat -an -P tcp | grep "\.$_port " | grep "LISTEN"
                          elif netstat -help 2>&1 | grep "\-p" >/dev/null; then
                            #for full linux
                            netstat -ntpl | grep ":$_port "
                          else
                            #for busybox (embedded linux; no pid support)
                            netstat -ntl 2>/dev/null | grep ":$_port "
                          fi
                        fi
                        return 0
                      fi
                    

                    It executes "if netstat -h 2>&1 | grep "-p proto" >/dev/null; then" which executes netstat -h and this takes long time as it resolves and trying to resolve all IPs :) then when it doesn`t find "-p proto" moves on to next command which is OK for our firewall. I removed first IF after _debug "Using: netstat" and verification is done in like 10 seconds for 12 hosts :)

                    So yeah this is bug.

                    Code that works:

                    if _exists "netstat"; then
                        _debug "Using: netstat"
                        
                        else
                          if netstat -help 2>&1 | grep "\-p protocol" >/dev/null; then
                            netstat -an -p tcp | grep LISTEN | grep ":$_port "
                          elif netstat -help 2>&1 | grep -- '-P protocol' >/dev/null; then
                            #for solaris
                            netstat -an -P tcp | grep "\.$_port " | grep "LISTEN"
                          elif netstat -help 2>&1 | grep "\-p" >/dev/null; then
                            #for full linux
                            netstat -ntpl | grep ":$_port "
                          else
                            #for busybox (embedded linux; no pid support)
                            netstat -ntl 2>/dev/null | grep ":$_port "
                          
                        fi
                        return 0
                      fi
                    
                    1 Reply Last reply Reply Quote 0
                    • GertjanG
                      Gertjan
                      last edited by

                      Time to call Neil ^^

                      No "help me" PM's please. Use the forum, the community will thank you.
                      Edit : and where are the logs ??

                      1 Reply Last reply Reply Quote 0
                      • M
                        maverick_slo
                        last edited by

                        ;)
                        Reported on github.

                        But I still dont understand why this method is not supported or efficient?
                        It works really well...

                        1 Reply Last reply Reply Quote 0
                        • jimpJ
                          jimp Rebel Alliance Developer Netgate
                          last edited by

                          It's not supported/efficient when hooking to HAProxy because it's redundant. HAProxy can already serve the files, there is no need for ACME to also be a web server involved in the process. ACME can drop the files in a directory, HAproxy can serve them up from there, and it's done. Just needs that python script and settings from the link I shared earlier in the thread.

                          Remember: Upvote with the πŸ‘ button for any user/post you find to be helpful, informative, or deserving of recognition!

                          Need help fast? Netgate Global Support!

                          Do not Chat/PM for help!

                          1 Reply Last reply Reply Quote 0
                          • M
                            maverick_slo
                            last edited by

                            Well we all have our own opinions.
                            For me it is simpler:

                            1. I don`t need special settings
                            2. I don`t need any scripts
                            3. I can do it out of the box
                            4. Didn`t fail once (except long times because of acme.sh bug)

                            If netgate can include that script and integrate it, that would be cool :)

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post
                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.