Caddy — мощный и удобный веб-сервер. Одной из его особенностей является способность работать как обратный прокси-сервер, бесперебойно направляя клиентские запросы на соответствующие внутренние серверы, обеспечивая при этом надежную безопасность и производительность.

Чтобы настроить Caddy как обратный прокси-сервер, добавьте следующее в Caddyfile

nano /etc/caddy/Caddyfile
example.com {
    reverse_proxy * 10.1.1.1:443 {
        transport http {
            tls
            tls_insecure_skip_verify
        }
    }
}

Перезапустить Кэдди

systemctl restart caddy

В этом случае все запросы к домену example.com будут проксироваться на IP-адрес внутреннего сервера 10.1.1.1 на порт 443.

tls_insecure_skip_verify — указывает, что не нужно проверять SSL-сертификат внутреннего сервера, чтобы разрешить использование самоподписанного SSL-сертификата.

Чтобы включить ведение журнала

example.com {
    reverse_proxy * 10.1.1.1:443 {
        transport http {
            tls
            tls_insecure_skip_verify
        }
    }
    log {
        output file /var/log/caddy/example.com.access.log
    }
}

Это позволит сохранить журналы в формате JSON.

Если вам необходимо разрешить несколько доменов, разделите их запятыми.

example.com, www.example.com {
    reverse_proxy * 10.1.1.1:443 {
        transport http {
            tls
            tls_insecure_skip_verify
        }
    }
    log {
        output file /var/log/caddy/example.com.access.log
    }
}

Для перенаправления домена www на домен без www

www.example.com {
    redir https://example.com{uri}
}

Written by Иван Васильков

Системный администратор и DevOps с опытом 10+ лет.