From 7a5529a7b60c2c82d626bb7792b9535c386d401e Mon Sep 17 00:00:00 2001 From: fullmetalsheep <23723926+fullmetalsheep@users.noreply.github.com> Date: Thu, 9 Oct 2025 11:26:17 +0800 Subject: [PATCH 1/2] docs(faq): Add caddy reverse proxy guide --- docs/FAQ.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/docs/FAQ.md b/docs/FAQ.md index 73e21f7d..3a2ec706 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -241,7 +241,53 @@ hide: - traefik.http.services.foo.loadbalancer.serverstransport=ignorecert@file - traefik.http.services.foo.loadbalancer.server.scheme=https ``` + + === "Caddy" + When reverse proxying an HTTPS backend that uses a self-signed certificate, Caddy will normally reject it because it cannot verify the certificate authority. + + To skip this verification we can modify site entry of the [caddyfile](https://caddyserver.com/docs/quick-starts/caddyfile) as shown below: + + *Note: replace `calibre.xxx.com` with your domain and `172.xxx.xxx.xxx:8181` with your backend service IP and port.* + + ```caddyfile + calibre.xxx.com { + reverse_proxy https://172.xxx.xxx.xxx:8181 { + transport http { + tls + tls_insecure_skip_verify + } + } + } + ``` + + **Bonus Tip 1**: If you find yourself needing to do this for multiple services, you can also define a [caddy snippet](https://caddyserver.com/docs/caddyfile/concepts#snippets) and reuse it in your caddyfile like so: + + ```caddyfile + (allow_insecure_ssl) { + transport http { + tls + tls_insecure_skip_verify + } + } + calibre.xxx.com { + reverse_proxy https://172.xxx.xxx.xxx:8181 { + import allow_insecure_ssl + } + } + ``` + + **Bonus Tip 2**: If you use [caddy-docker-proxy](https://github.com/lucaslorentz/caddy-docker-proxy), you can simply apply the following labels to your docker-compose yaml file: + + ```yaml + labels: + caddy: calibre.xxx.com + caddy.reverse_proxy: "{{upstreams https 8181}}" + caddy.reverse_proxy.transport: http + caddy.reverse_proxy.transport.tls: + caddy.reverse_proxy.transport.tls_insecure_skip_verify: + ``` + ??? faq "Why does LinuxServer.io recommend to use docker-compose over Portainer?" ##### Why does LinuxServer.io recommend to use docker-compose over Portainer? { #portainer } From 8da0fdcfbfa077cb6c0e25bd57c77c73341ae4ac Mon Sep 17 00:00:00 2001 From: fullmetalsheep <23723926+fullmetalsheep@users.noreply.github.com> Date: Thu, 9 Oct 2025 23:48:21 +0800 Subject: [PATCH 2/2] feat(styling): make tips display in admonitions - thanks to @Roxedus for the suggestion --- docs/FAQ.md | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/docs/FAQ.md b/docs/FAQ.md index 3a2ec706..97471457 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -248,20 +248,23 @@ hide: To skip this verification we can modify site entry of the [caddyfile](https://caddyserver.com/docs/quick-starts/caddyfile) as shown below: - *Note: replace `calibre.xxx.com` with your domain and `172.xxx.xxx.xxx:8181` with your backend service IP and port.* + !!! note + Replace `calibre.xxx.com` with your domain and `172.xxx.xxx.xxx:8181` with your backend service IP and port. - ```caddyfile - calibre.xxx.com { - reverse_proxy https://172.xxx.xxx.xxx:8181 { - transport http { - tls - tls_insecure_skip_verify - } + + ```caddyfile + calibre.xxx.com { + reverse_proxy https://172.xxx.xxx.xxx:8181 { + transport http { + tls + tls_insecure_skip_verify } } - ``` + } + ``` - **Bonus Tip 1**: If you find yourself needing to do this for multiple services, you can also define a [caddy snippet](https://caddyserver.com/docs/caddyfile/concepts#snippets) and reuse it in your caddyfile like so: + ???+ tip "Bonus Tip 1: Caddy Snippets" + If you find yourself needing to do this for multiple services, you can also define a [caddy snippet](https://caddyserver.com/docs/caddyfile/concepts#snippets) and reuse it in your caddyfile like so: ```caddyfile (allow_insecure_ssl) { @@ -277,7 +280,8 @@ hide: } ``` - **Bonus Tip 2**: If you use [caddy-docker-proxy](https://github.com/lucaslorentz/caddy-docker-proxy), you can simply apply the following labels to your docker-compose yaml file: + ???+ tip "Bonus Tip 2: caddy-docker-proxy" + If you use [caddy-docker-proxy](https://github.com/lucaslorentz/caddy-docker-proxy), you can simply apply the following labels to your docker-compose yaml file: ```yaml labels: