tried curl -v 107.220.81.150 with firewall on and got
Trying 107.220.81.150:80...
* Connected to 107.220.81.150 (107.220.81.150) port 80
> GET / HTTP/1.1
> Host: 107.220.81.150
> User-Agent: curl/8.7.1
> Accept: */*
>
* Request completely sent off
* Recv failure: Connection reset by peer
* Closing connection
curl: (56) Recv failure: Connection reset by peer
then tried it again with firewall off and got
Trying 107.220.81.150:80...
* Connected to 107.220.81.150 (107.220.81.150) port 80
> GET / HTTP/1.1
> Host: 107.220.81.150
> User-Agent: curl/8.7.1
> Accept: */*
>
* Request completely sent off
< HTTP/1.1 308 Permanent Redirect
< Connection: close
< Location: https://107.220.81.150/
< Server: Caddy
< Date: Fri, 23 Jan 2026 18:22:36 GMT
< Content-Length: 0
<
* Closing connection
tried openssl s_client -connect 107.220.81.150:443 and got
CONNECTED(00000003)
140704584609792:error:1404B438:SSL routines:ST_CONNECT:tlsv1 alert internal error:/AppleInternal/Library/BuildRoots/4~B5vGugAacBqx1Rv6ZIrYmRaiDWoWCZgo6c_MR5I/Library/Caches/com.apple.xbs/Sources/libressl/libressl-3.3/ssl/tls13_lib.c:129:SSL alert number 80
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 287 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.3
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Start Time: 1769192944
Timeout : 7200 (sec)
Verify return code: 0 (ok)
---
And here is my caddy start --config Caddyfile log left running in a separate terminal window
maxprocs: Leaving GOMAXPROCS=20: CPU quota undefined
2026/01/23 18:20:41.765 INFO GOMEMLIMIT is updated {"package": "github.com/KimMachineGun/automemlimit/memlimit", "GOMEMLIMIT": 123695058124, "previous": 9223372036854775807}
2026/01/23 18:20:41.766 INFO using config from file {"file": "Caddyfile"}
2026/01/23 18:20:41.767 INFO adapted config to JSON {"adapter": "caddyfile"}
2026/01/23 18:20:41.768 INFO admin admin endpoint started {"address": "localhost:2019", "enforce_origin": false, "origins": ["//localhost:2019", "//[::1]:2019", "//127.0.0.1:2019"]}
2026/01/23 18:20:41.768 INFO http.auto_https server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS {"server_name": "srv0", "https_port": 443}
2026/01/23 18:20:41.768 INFO http.auto_https enabling automatic HTTP->HTTPS redirects {"server_name": "srv0"}
2026/01/23 18:20:41.768 INFO tls.cache.maintenance started background certificate maintenance {"cache": "0xc000422180"}
2026/01/23 18:20:41.771 DEBUG http.auto_https adjusted config {"tls": {"automation":{"policies":[{"subjects":["107.220.81.150"]},{}]}}, "http": {"servers":{"remaining_auto_https_redirects":{"listen":[":80"],"routes":[{},{}]},"srv0":{"listen":[":443"],"routes":[{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"static_response","status_code":403}],"match":[{"path":["/metrics*"]}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"127.0.0.1:8096"}]}]}]}],"terminal":true}],"tls_connection_policies":[{}],"automatic_https":{}}}}}
2026/01/23 18:20:41.771 DEBUG http starting server loop {"address": "[::]:80", "tls": false, "http3": false}
2026/01/23 18:20:41.771 WARN http HTTP/2 skipped because it requires TLS {"network": "tcp", "addr": ":80"}
2026/01/23 18:20:41.771 WARN http HTTP/3 skipped because it requires TLS {"network": "tcp", "addr": ":80"}
2026/01/23 18:20:41.771 INFO http.log server running {"name": "remaining_auto_https_redirects", "protocols": ["h1", "h2", "h3"]}
2026/01/23 18:20:41.771 DEBUG http starting server loop {"address": "[::]:443", "tls": true, "http3": false}
2026/01/23 18:20:41.771 INFO http enabling HTTP/3 listener {"addr": ":443"}
2026/01/23 18:20:41.771 INFO http.log server running {"name": "srv0", "protocols": ["h1", "h2", "h3"]}
2026/01/23 18:20:41.771 INFO http enabling automatic TLS certificate management {"domains": ["107.220.81.150"]}
2026/01/23 18:20:41.772 WARN tls stapling OCSP {"identifiers": ["107.220.81.150"]}
2026/01/23 18:20:41.773 DEBUG tls.cache added certificate to cache {"subjects": ["107.220.81.150"], "expiration": "2026/01/23 12:29:54.000", "managed": true, "issuer_key": "local", "hash": "d722e8858cbd97818e0042e5e5697e2b48a18b9cd80fc74d5395c3bb197b2216", "cache_size": 1, "cache_capacity": 10000}
2026/01/23 18:20:41.773 DEBUG events event {"name": "cached_managed_cert", "id": "0113037f-cc17-4f7d-ad44-3b816c344b97", "origin": "tls", "data": {"sans":["107.220.81.150"]}}
2026/01/23 18:20:41.773 INFO tls certificate is in configured renewal window based on expiration date {"subjects": [], "expiration": "2026/01/23 12:29:54.000", "ari_cert_id": "", "next_ari_update": null, "renew_check_interval": 600, "window_start": "0001/01/01 00:00:00.000", "window_end": "0001/01/01 00:00:00.000", "remaining": -21047.773157}
2026/01/23 18:20:41.776 INFO pki.ca.local root certificate is already trusted by system {"path": "storage:pki/authorities/local/root.crt"}
2026/01/23 18:20:41.776 DEBUG events event {"name": "started", "id": "b539843f-6b9d-4716-8cda-0a994138bdab", "origin": "", "data": null}
2026/01/23 18:20:41.810 INFO tls.renew acquiring lock {"identifier": "107.220.81.150"}
2026/01/23 18:20:41.810 INFO autosaved config (load with --resume flag) {"file": "/Users/gribo/Library/Application Support/Caddy/autosave.json"}
2026/01/23 18:20:41.811 INFO serving initial configuration
2026/01/23 18:20:41.811 INFO tls storage cleaning happened too recently; skipping for now {"storage": "FileStorage:/Users/gribo/Library/Application Support/Caddy", "instance": "94566520-5ad5-4777-894f-46fb38c06b13", "try_again": "2026/01/24 18:20:41.811", "try_again_in": 86399.999999609}
Successfully started Caddy (pid=2166) - Caddy is running in the background
2026/01/23 18:20:41.811 INFO tls finished cleaning storage units
tinodimperio@Tinos-iMac-Pro ~ % 2026/01/23 18:20:41.829 INFO tls.renew lock acquired {"identifier": "107.220.81.150"}
2026/01/23 18:20:41.829 INFO tls.renew renewing certificate {"identifier": "107.220.81.150", "remaining": -21047.829923}
2026/01/23 18:20:41.829 DEBUG events event {"name": "cert_obtaining", "id": "bad8e701-7ef2-4a21-92fd-6826d3f300dd", "origin": "tls", "data": {"forced":false,"identifier":"107.220.81.150","issuer":"local","remaining":-21047829923000,"renewal":true}}
2026/01/23 18:20:41.830 DEBUG tls created CSR {"identifiers": ["107.220.81.150"], "san_dns_names": [], "san_emails": [], "common_name": "", "extra_extensions": 0}
2026/01/23 18:20:41.830 DEBUG pki.ca.local using intermediate signer {"serial": "484098142444138216577113991834761110", "not_before": "2026-01-21 21:11:22 +0000 UTC", "not_after": "2026-01-28 21:11:22 +0000 UTC"}
2026/01/23 18:20:41.888 INFO tls.renew certificate renewed successfull{"identifier": "107.220.81.150", "issuer": "local"}
2026/01/23 18:20:41.888 DEBUG events event {"name": "cert_obtained", "id": "57cd69c5-e1a1-480c-9d97-5df12224e3f3", "origin": "tls", "data": {"certificate_path":"certificates/local/107.220.81.150/107.220.81.150.crt","csr_pem":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlIZE1JR0VBZ0VBTUFBd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFSRjdvT0tUdTlISUtDUApacG1LL005eTUxNmVlRFI2eHdFNURMN1hyQ2NLaEdCNmREMnlFWWNNRU0wTnpkVHhNSXRSY3N4V1QrMEtCMXplClNSNWxPLzByb0NJd0lBWUpLb1pJaHZjTkFRa09NUk13RVRBUEJnTlZIUkVFQ0RBR2h3UnIzRkdXTUFvR0NDcUcKU000OUJBTUNBMGdBTUVVQ0lRRE1vQ3hDckt3bTlRZU5JbW5MRll0eUpWd1k4WTJxYk1ZMVdycHdvUTR1TXdJZwpZaVZva0hWaENtUVZQcFlxbUR1Ry9BZGE3dTIyV0tFb2lMRzZIaWI4U0c4PQotLS0tLUVORCBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0K","identifier":"107.220.81.150","issuer":"local","metadata_path":"certificates/local/107.220.81.150/107.220.81.150.json","private_key_path":"certificates/local/107.220.81.150/107.220.81.150.key","remaining":-21047829923000,"renewal":true,"storage_path":"certificates/local/107.220.81.150"}}
2026/01/23 18:20:41.888 INFO tls.renew releasing lock {"identifier": "107.220.81.150"}
2026/01/23 18:20:41.888 INFO tls reloading managed certificate {"identifiers": ["107.220.81.150"]}
2026/01/23 18:20:41.888 WARN tls stapling OCSP {"identifiers": ["107.220.81.150"]}
2026/01/23 18:20:41.888 DEBUG tls.cache removed certificate from cache {"subjects": ["107.220.81.150"], "expiration": "2026/01/23 12:29:54.000", "managed": true, "issuer_key": "local", "hash": "d722e8858cbd97818e0042e5e5697e2b48a18b9cd80fc74d5395c3bb197b2216", "cache_size": 0, "cache_capacity": 10000}
2026/01/23 18:20:41.888 DEBUG tls.cache added certificate to cache {"subjects": ["107.220.81.150"], "expiration": "2026/01/24 06:20:42.000", "managed": true, "issuer_key": "local", "hash": "c73fff4dc5072caae1715837175e4f6225c22e6a5a80ef437ce580927e1567a0", "cache_size": 1, "cache_capacity": 10000}
2026/01/23 18:20:41.889 INFO tls.cache replaced certificate in cache {"subjects": ["107.220.81.150"], "new_expiration": "2026/01/24 06:20:42.000"}
2026/01/23 18:23:22.533 DEBUG events event {"name": "tls_get_certificate", "id": "2d09124c-3713-4657-bb15-2a7b5d84d5a8", "origin": "tls", "data": {"client_hello":{"CipherSuites":[4865,4867,4866,49195,49199,52393,52392,49196,49200,49162,49161,49171,49172,156,157,47,53],"ServerName":"","SupportedCurves":[4588,29,23,24,25,256,257],"SupportedPoints":"AA==","SignatureSchemes":[1027,1283,1539,2052,2053,2054,1025,1281,1537,515,513],"SupportedProtos":["h2","http/1.1"],"SupportedVersions":[772,771],"RemoteAddr":{"IP":"192.168.1.254","Port":443,"Zone":""},"LocalAddr":{"IP":"192.168.1.64","Port":443,"Zone":""}}}}
2026/01/23 18:23:22.533 DEBUG tls.handshake no matching certificates and no custom selection logic {"identifier": "192.168.1.64"}
2026/01/23 18:23:22.533 DEBUG tls.handshake no certificate matching TLS ClientHello {"remote_ip": "192.168.1.254", "remote_port": "443", "server_name": "", "remote": "192.168.1.254:443", "identifier": "192.168.1.64", "cipher_suites": [4865, 4867, 4866, 49195, 49199, 52393, 52392, 49196, 49200, 49162, 49161, 49171, 49172, 156, 157, 47, 53], "cert_cache_fill": 0.0001, "load_or_obtain_if_necessary": true, "on_demand": false}
2026/01/23 18:23:22.533 DEBUG http.stdlib http: TLS handshake error from 192.168.1.254:443: no certificate available for '192.168.1.64'
2026/01/23 18:23:57.539 DEBUG events event {"name": "tls_get_certificate", "id": "fabe2a3a-bb42-4f84-b17b-cd2fc8d11607", "origin": "tls", "data": {"client_hello":{"CipherSuites":[4865,4867,4866,49195,49199,52393,52392,49196,49200,49162,49161,49171,49172,156,157,47,53],"ServerName":"","SupportedCurves":[29,23,24,25,256,257],"SupportedPoints":"AA==","SignatureSchemes":[1027,1283,1539,2052,2053,2054,1025,1281,1537,515,513],"SupportedProtos":["h2","http/1.1"],"SupportedVersions":[772,771],"RemoteAddr":{"IP":"192.168.1.254","Port":443,"Zone":""},"LocalAddr":{"IP":"192.168.1.64","Port":443,"Zone":""}}}}
2026/01/23 18:23:57.539 DEBUG tls.handshake no matching certificates and no custom selection logic {"identifier": "192.168.1.64"}
2026/01/23 18:23:57.539 DEBUG tls.handshake no certificate matching TLS ClientHello {"remote_ip": "192.168.1.254", "remote_port": "443", "server_name": "", "remote": "192.168.1.254:443", "identifier": "192.168.1.64", "cipher_suites": [4865, 4867, 4866, 49195, 49199, 52393, 52392, 49196, 49200, 49162, 49161, 49171, 49172, 156, 157, 47, 53], "cert_cache_fill": 0.0001, "load_or_obtain_if_necessary": true, "on_demand": false}
2026/01/23 18:23:57.539 DEBUG http.stdlib http: TLS handshake error from 192.168.1.254:443: no certificate available for '192.168.1.64'
2026/01/23 18:24:29.794 DEBUG events event {"name": "tls_get_certificate", "id": "db84a48c-64d5-408e-a7aa-9eea5c5e584f", "origin": "tls", "data": {"client_hello":{"CipherSuites":[4865,4867,4866,49195,49199,52393,52392,49196,49200,49162,49161,49171,49172,156,157,47,53],"ServerName":"","SupportedCurves":[29,23,24,25,256,257],"SupportedPoints":"AA==","SignatureSchemes":[1027,1283,1539,2052,2053,2054,1025,1281,1537,515,513],"SupportedProtos":["h2","http/1.1"],"SupportedVersions":[772,771],"RemoteAddr":{"IP":"192.168.1.254","Port":443,"Zone":""},"LocalAddr":{"IP":"192.168.1.64","Port":443,"Zone":""}}}}
2026/01/23 18:24:29.794 DEBUG tls.handshake no matching certificates and no custom selection logic {"identifier": "192.168.1.64"}
2026/01/23 18:24:29.794 DEBUG tls.handshake no certificate matching TLS ClientHello {"remote_ip": "192.168.1.254", "remote_port": "443", "server_name": "", "remote": "192.168.1.254:443", "identifier": "192.168.1.64", "cipher_suites": [4865, 4867, 4866, 49195, 49199, 52393, 52392, 49196, 49200, 49162, 49161, 49171, 49172, 156, 157, 47, 53], "cert_cache_fill": 0.0001, "load_or_obtain_if_necessary": true, "on_demand": false}
2026/01/23 18:24:29.794 DEBUG http.stdlib http: TLS handshake error from 192.168.1.254:443: no certificate available for '192.168.1.64'
2026/01/23 18:29:04.319 DEBUG events event {"name": "tls_get_certificate", "id": "083b2401-e834-4e20-ad83-aa486c899184", "origin": "tls", "data": {"client_hello":{"CipherSuites":[4866,4867,4865,49200,49196,49192,49188,49172,49162,159,107,57,52393,52392,52394,65413,196,136,129,157,61,53,192,132,49199,49195,49191,49187,49171,49161,158,103,51,190,69,156,60,47,186,65,49169,49159,5,4,49170,49160,22,10,255],"ServerName":"","SupportedCurves":[29,23,24,25],"SupportedPoints":"AA==","SignatureSchemes":[2054,1537,1539,2053,1281,1283,2052,1025,1027,513,515],"SupportedProtos":null,"SupportedVersions":[772,771,770,769],"RemoteAddr":{"IP":"192.168.1.254","Port":443,"Zone":""},"LocalAddr":{"IP":"192.168.1.64","Port":443,"Zone":""}}}}
2026/01/23 18:29:04.319 DEBUG tls.handshake no matching certificates and no custom selection logic {"identifier": "192.168.1.64"}
2026/01/23 18:29:04.319 DEBUG tls.handshake no certificate matching TLS ClientHello {"remote_ip": "192.168.1.254", "remote_port": "443", "server_name": "", "remote": "192.168.1.254:443", "identifier": "192.168.1.64", "cipher_suites": [4866, 4867, 4865, 49200, 49196, 49192, 49188, 49172, 49162, 159, 107, 57, 52393, 52392, 52394, 65413, 196, 136, 129, 157, 61, 53, 192, 132, 49199, 49195, 49191, 49187, 49171, 49161, 158, 103, 51, 190, 69, 156, 60, 47, 186, 65, 49169, 49159, 5, 4, 49170, 49160, 22, 10, 255], "cert_cache_fill": 0.0001, "load_or_obtain_if_necessary": true, "on_demand": false}
2026/01/23 18:29:04.319 DEBUG http.stdlib http: TLS handshake error from 192.168.1.254:443: no certificate available for '192.168.1.64'
Thanks for the reply by the way! I am a a noob at this stuff, but been trying to learn as much as I can over the past few weeks, I appreciate the help!