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 2.1k 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.
    • 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.