# Caddy Proxying
As Strapi does not handle SSL directly and hosting a Node.js service on the "edge" network is not a secure solution it is recommended that you use some sort of proxy application such as Nginx, Apache, HAProxy, Traefik, or others. Below you will find some sample configurations for Caddy, naturally these configs may not suit all environments and you will likely need to adjust them to fit your needs.
Caddy has some very easy to use options relating to Let's encrypt and automated SSL certificate issuing/renewing, while it is certainly the "newer" web server market, it is quickly becoming a great "non-technical" user application for proxying. Please do note that Caddy is still very much in development and as such is evolving often, this guide is based on Caddy v2.0.0.
The below configuration is based on "Caddy File" type, this is a single file configuration that Caddy will use to run the web server. There are multiple other options such as the Caddy REST API that this guide will not cover, you should review the Caddy documentation (opens new window) for further information on alternatives. You can also visit the Caddy Community (opens new window) to speak with others relating to configuration questions.
# Strapi 服务
这些示例使用默认的 API 前缀
/api. 这可以更改，而无需直接修改 Nginx 配置 (请参阅 API prefix 文档).
yarn build 或
npm run build 重新构建管理面板。
# Caddy file
The Caddyfile is a convenient Caddy configuration format for humans. It is most people's favorite way to use Caddy because it is easy to write, easy to understand, and expressive enough for most use cases.
In the below examples you will need to replace your domain, and should you wish to use SSL you will need to tweak these Caddy file configs to suit your needs, SSL is not covered in this guide and you should review the Caddy documentation.
Below are 3 example Caddy configurations:
- Subdomain-based such as
- Subfolder-based with both the API and Admin on the same subfolder (e.g.
- Subfolder-based with split API and admin panel (e.g.
<html> <head> <meta http-equiv="refresh" content="0;URL='/admin'" /> </head> </html>