1. The problem I’m having:
I am trying to deploy the self-hosted gitlab with caddy2 on my server which installed debian bulleye. Due to my terrible ISP, the only public IP my server got based on IPV6. When I visited it, it warned "ERR_SSL_PROTOCOL_ERROR". When I check the systemctl status, it reported the problem which seem as certificate can not be certified without IPV4 resulted.2. Error messages and/or full log output:
Trying 2409:8a55:2c23:3f91:4cd1:a1e8:e780:8:80…
Connected to gitlab.dowblog.top (2409:8a55:2c23:3f91:4cd1:a1e8:e780:8) port 80 (#0)
GET / HTTP/1.1Host: gitlab.dowblog.topUser-Agent: curl/7.74.0Accept: /
Mark bundle as not supporting multiuse< HTTP/1.1 308 Permanent Redirect< Connection: close< Location: https://gitlab.dowblog.top/< Server: Caddy< Date: Tue, 26 Aug 2025 16:00:07 GMT< Content-Length: 0<
Closing connection 0
Clear auth, redirects to port from 80 to 443Issue another request to this URL: ‘https://gitlab.dowblog.top/’
Trying 2409:8a55:2c23:3f91:4cd1:a1e8:e780:8:443…
Connected to gitlab.dowblog.top (2409:8a55:2c23:3f91:4cd1:a1e8:e780:8) port 443 (#1)
ALPN, offering h2
ALPN, offering http/1.1
successfully set certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
TLSv1.3 (OUT), TLS handshake, Client hello (1):
TLSv1.3 (IN), TLS alert, internal error (592):
error:14094438:SSL routines:ssl3_read_bytes:tlsv1 alert internal error
Closing connection 1curl: (35) error:14094438:SSL routines:ssl3_read_bytes:tlsv1 alert internal error
PASTE OVER THIS, BETWEEN THE ``` LINES.
Please use the preview pane to ensure it looks nice.
3. Caddy version:
\v2.9.1 h1:OEYiZ7DbCzAWVb6TNEkjRcSCRGHVoZsJinoDR/n9oaY=
4. How I installed and ran Caddy:
lcmp script:
a. System environment:
debian bulleyes systemctl
b. Command:
sudo systemctl start caddy
PASTE OVER THIS, BETWEEN THE ``` LINES.
Please use the preview pane to ensure it looks nice.
c. Service/unit/compose file:
caddy.service
For using Caddy with a config file.
Make sure the ExecStart and ExecReload commands are correct
for your installation.
See https://caddyserver.com/docs/install for instructions.
WARNING: This service does not use the --resume flag, so if you
use the API to make changes, they will be overwritten by the
Caddyfile next time the service is restarted. If you intend to
use Caddy’s API to configure it, add the --resume flag to the
caddy run command or use the caddy-api.service file instead.
[Unit]
Description=Caddy
Documentation=https://caddyserver.com/docs/
After=network.target network-online.target
Requires=network-online.target
[Service]
Type=notify
User=caddy
Group=caddy
ExecStart=/usr/bin/caddy run --environ --config /etc/caddy/Caddyfile
ExecReload=/usr/bin/caddy reload --config /etc/caddy/Caddyfile --force
TimeoutStopSec=5s
LimitNOFILE=1048576
PrivateTmp=true
ProtectSystem=full
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
PASTE OVER THIS, BETWEEN THE ``` LINES.
Please use the preview pane to ensure it looks nice.
d. My complete Caddy config:
gitlab.dowblog.top {
reverse_proxy * unix//var/opt/gitlab/gitlab-workhorse/sockets/socket
}
PASTE OVER THIS, BETWEEN THE ``` LINES.
Please use the preview pane to ensure it looks nice.
5. Links to relevant resources:
sudo nmcli
wlan0: connected to Dong_5G
“Intel 7265”
wifi (iwlwifi), C0:B6:F9:91:19:23, hw, mtu 1500
ip4 default, ip6 default
inet4 192.168.3.23/24
route4 0.0.0.0/0
route4 192.168.3.0/24
inet6 2409:8a55:2c21:a081:5e31:7a23:bdf8:8369/64
inet6 2409:8a55:2c21:a081:4cd1:a1e8:e780:8/128
inet6 fe80::6ac0:4e6e:699:f1ef/64
route6 2409:8a55:2c21:a081::/64
route6 ::/0
route6 fe80::/64
route6 2409:8a55:2c21:a081:4cd1:a1e8:e780:8/128
