Hmm.. I've never thought about it before, but symlinking the .caddy/sites/
camli.gthomas.eu/*.{key,crt} to their tls.{key,crt} pairs just works!
TL;DR; now it works, if I allow everything to use HTTPS with the correct letsencrypt certificates.
But publisher says
PUBLISHER: 2016/05/30 20:56:16 Starting publisher version 2016-05-29-7b9b9d5; Go go1.6.2 (linux/amd64)
2016/05/30 20:56:16 Starting regular periodic import for picasa importer account, sha1-d9452176e1f13387052dc5951ad80a3776901a93
PUBLISHER: 2016/05/30 20:56:16 Starting to listen on
https://127.0.0.1:415992016/05/30 20:56:16 Available on
https://camli.gthomas.eu/ui/2016/05/30 20:56:16 http: TLS handshake error from
127.0.0.1:46730: EOF
Either with tip or with cl-6646. Maybe Camlistore proxies for the publisher app, but that app serves an unknown cert?
gthomas@tequila:~$ curl -k -v
https://localhost:41613* Rebuilt URL to:
https://localhost:41613/* Trying ::1...
* connect to ::1 port 41613 failed: Connection refused
* Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 41613 (#0)
* found 175 certificates in /etc/ssl/certs/ca-certificates.crt
* found 800 certificates in /etc/ssl/certs
* ALPN, offering h2
* ALPN, offering http/1.1
* SSL connection using TLS1.2 / ECDHE_RSA_AES_256_GCM_SHA384
* server certificate verification SKIPPED
* server certificate status verification SKIPPED
* common name:
camli.gthomas.eu (does not match 'localhost')
* server certificate expiration date FAILED
* server certificate activation date OK
* certificate public key: RSA
* certificate version: #3
* subject: CN=
camli.gthomas.eu* start date: Sat, 05 Dec 2015 19:32:00 GMT
* expire date: Fri, 04 Mar 2016 19:32:00 GMT
* issuer: C=US,O=Let's Encrypt,CN=Let's Encrypt Authority X1
* compression: NULL
* ALPN, server accepted to use h2
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* TCP_NODELAY set
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x55b937028700)
> GET / HTTP/1.1
> Host: localhost:41613
> User-Agent: curl/7.47.0
> Accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS updated)!
< HTTP/2.0 200
< content-type:text/html; charset=utf-8
< date:Mon, 30 May 2016 19:12:14 GMT
<
This is where I learnt that I need to use the proper letsencrypt certs - as caddy is running as www-data, its under that's home, /var/www.