-
Hi - I've decided to setup HAProxy for use with ACME as my Dynamic DNS provider does not allow the creation of _acme-challenge subdomains for manual validation or nsupdate.
I already have a basic setup for HAproxy for two http web servers. I have a single shared frontend for http, and then two frontends pointing to two backends. This all works fine - however I'd like to use the standalone verification method in ACME (not overly fussed about automating it at this stage)
What would I add to HAProxy to do this?
Many thanks
-
take a look at https://forum.pfsense.org/index.php?topic=130598.0 and https://forum.pfsense.org/index.php?topic=129376.msg714035#msg714035
the later one describes how I got it to work
-
Thanks Mats - I'll take a look.
-
OK - So I took a look at the links and I still can't get it working.
I have two rules created in my firewall, one for port 80 the other for 443.
I have disabled the webConfigurator redirect rule.
System -> Advanced -> Admin Access
Protocol = HTTPS
TCP port = 44300
WebGUI redirect = Disable webConfigurator redirect rule ENABLEDMy current setup is the following.
I have a shared frontend setup called 'SharedFrontend' - all I have configured for this is 4 listen addresses, WAN IPv6, WAN IPv4 - for port 80 and 443 respectively.
I then created a new frontend called 'ACME' with shared front end ticked and primary frontend pointed to 'SharedFrontend'
Under ACL I haveACME Path starts with: yes /.well-known/acme-challengeUnder actions I'm pointing to my new backend, which I've configured like so:-
active localacmeserv Address+Port: 127.0.0.1 8126 noFinally under ACME I have configured the certs to use Standalone HTTP Server and port 8126.
The logs from ACME show the following
[Thu Jul 6 03:16:26 BST 2017] errordetail='Invalid response from http://mail.mydomain.co.uk/.well-known/acme-challenge/3-_G89BXrUAk27PmlPXWQerXKe_wonzuNFcXemxQBL0 [86.16.238.175]: 503'
[Thu Jul 6 03:16:26 BST 2017] mail.mydomain.co.uk:Verify error:Invalid response from http://mail.mydomain.co.uk/.well-known/acme-challenge/3-_G89BXrUAk27PmlPXWQerXKe_wonzuNFcXemxQBL0 [86.16.238.175]: 503
[Thu Jul 6 03:16:26 BST 2017] h_api
[Thu Jul 6 03:16:26 BST 2017] Skip for removelevel:
[Thu Jul 6 03:16:26 BST 2017] pid='75347'
[Thu Jul 6 03:16:26 BST 2017] Le_HTTPPort='80'
[Thu Jul 6 03:16:26 BST 2017] GET
[Thu Jul 6 03:16:26 BST 2017] url='http://localhost:80'
[Thu Jul 6 03:16:26 BST 2017] timeout='1'
[Thu Jul 6 03:16:26 BST 2017] curl exists=0
[Thu Jul 6 03:16:26 BST 2017] wget exists=127
[Thu Jul 6 03:16:26 BST 2017] _CURL='curl -L –silent --dump-header /tmp/acme/mail.mydomain.co.uk//http.header --connect-timeout 1'
[Thu Jul 6 03:16:26 BST 2017] Please refer to https://curl.haxx.se/libcurl/c/libcurl-errors.html for error code: 60
[Thu Jul 6 03:16:26 BST 2017] ret='60'
[Thu Jul 6 03:16:26 BST 2017] Le_TLSPort
[Thu Jul 6 03:16:26 BST 2017] No need to restore nginx, skip.
[Thu Jul 6 03:16:26 BST 2017] _clearupdns
[Thu Jul 6 03:16:27 BST 2017] Dns not added, skip.
[Thu Jul 6 03:16:27 BST 2017] _on_issue_err
[Thu Jul 6 03:16:27 BST 2017] Please check log file for more details: /tmp/acme/mail.mydomain.co.uk/acme_issuecert.log
[Thu Jul 6 03:16:27 BST 2017] _chk_vlist='mail.mydomain.co.uk#3-Weirdly it shows the URL as http:// when it should be https://
I'm yet to configure HAVProxy for my various servers on port 443 - I'll have to figure that out after I've got this working..
Any help greatly appreciated with this - happy to do a TeamViewer session or whatever as there is a boatload of screens to screendump
-
I'm not 100% sure but can you try change your backend config from pointing at 127.0.0.1 to the ip of your lan interface. I got mine pointed at my lan address.
-
Changed the backend IP from the loopback address to the LAN IP of the FW
[Thu Jul 6 19:24:56 BST 2017] Pending
OPTIONS / HTTP/1.0
X-Forwarded-Proto: http
X-Forwarded-For: 192.168.50.10[Thu Jul 6 19:24:58 BST 2017] storefront.apollon-domain.co.uk:Verify error:Fetching http://storefront.apollon-domain.co.uk/.well-known/acme-challenge/VdHX3VX3dV7p_hKtmK8m0UZga4hn5aWLSCNHj2MQfIQ: Timeout
[Thu Jul 6 19:24:59 BST 2017] Please check log file for more details: /tmp/acme/storefront.apollon-domain.co.uk/acme_issuecert.logStill not working :(
-
For reference I am using the same setup as corey https://forum.pfsense.org/index.php?topic=130598.0 but am not using a https redirect
-
it was worth testing, sorry it didn't help.
If I understand you correctly you got HA proxy working for port 80 for your two websites. That would prove that http traffic gets to the HA proxy.The next thing I would look at if it's the right rule that is being used. Do you have any acl:s on the primary frontend that might cause ha proxy to try to use that instead of your secondary listner?
-
Hi Mats - I've managed to get a bit further. I decided to start from fresh.
I created 3 backends like so:-
ACME
active localacmeserv Address+Port: 192.168.50.10 8126 noWebServers
active THEMIS Address+Port: 192.168.50.189 80 noWebServers2
active GLAUCUS Address+Port: 192.168.50.185 80 noI created 4 Frontends :-
HTTP-Edge
Any (IPv4) 80
Any (IPv6) 80
Any (IPv4) 443
Any (IPv6) 443Use "forwardfor" option - Ticked (Wasn't sure if this is needed or not)
WebServers
Shared Frontend option - ticked
Primary frontend - HTTP-EdgeACL1 Host matches: no www.mywebsite.co.ukActions
Use Backend See below ACL1Use backend WebServers
I then cloned this frontend an setup an ACL for my second website to the Webservers2 backend. This all seems to work.
I created a final frontend for ACME like so:-
ACMEFrontend
Shared front end - ticked
Front end - HTTP-Edgeacme Path starts with: yes /.well-known/acme-challengeUse Backend See below acmeBackend points to ACME backend.
Attempt to renew Exchange 2013 SAN certificate which has
enabled mail.mydomain.co.uk standalone HTTP serverPort 8126
Enabled autodiscover.mydomain.co.uk standalone HTTP serverPort 8126
[Fri Jul 7 00:20:11 BST 2017] Standalone mode.
[Fri Jul 7 00:20:12 BST 2017] Standalone mode.
[Fri Jul 7 00:20:12 BST 2017] Multi domain='DNS:autodiscover.mydomain.co.uk'
[Fri Jul 7 00:20:12 BST 2017] Getting domain auth token for each domain
[Fri Jul 7 00:20:12 BST 2017] Getting webroot for domain='mail.mydomain.co.uk'
[Fri Jul 7 00:20:12 BST 2017] Getting new-authz for domain='mail.mydomain.co.uk'
[Fri Jul 7 00:20:28 BST 2017] The new-authz request is ok.
[Fri Jul 7 00:20:28 BST 2017] Getting webroot for domain='autodiscover.mydomain.co.uk'
[Fri Jul 7 00:20:28 BST 2017] Getting new-authz for domain='autodiscover.mydomain.co.uk'
[Fri Jul 7 00:20:30 BST 2017] The new-authz request is ok.
[Fri Jul 7 00:20:30 BST 2017] mail.mydomain.co.uk is already verified, skip http-01.
[Fri Jul 7 00:20:30 BST 2017] Verifying:autodiscover.mydomain.co.uk
[Fri Jul 7 00:20:30 BST 2017] Standalone mode server
[Fri Jul 7 00:20:36 BST 2017] autodiscover.mydomain.co.uk:Verify error:Invalid response from http://autodiscover.mydomain.co.uk/.well-known/acme-challenge/-G-QfC3FZa66VzIHB2rvanHig3CqBxJPONFSdO0QxLsThe Exchange 2013 server is running behind the firewall.
Any ideas? - This is hurting my brain!
Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.