Caddy2 使用-caddy2反向代理

1. 介绍

  • Caddy 是一个 Go 编写的 Web 服务器。类似于 Nginx,Caddy 提供了更加强大的功能,目前 Caddy2 已经可以作为中小型站点 Web 服务器的另一个选择。这里记录以下给网站配置域名 shellfish.top 流程。

2. 安装

3. 快速使用

  • 进入home 创建.caddy文件夹Caddyfile
mkdir ~/.caddy && cd ~/.caddy && touch Caddyfile
  • 复制 Caddyfile 的最简配置
shellfish.top

encode gzip

reverse_proxy 127.0.0.1:8000
  • 运行
#caddy会默认加载当前目录下的 `Caddyfile` 文件
caddy run

#如果文件在别的地方也可以这样
caddy run --config /etc/caddy/Caddyfile

如果域名有效,并能正确解析到你当前的服务器,此配置将自动为您申请证书,并启动 ssl

3. 关闭Caddy2自动证书

当符合下面所有的要求时,Caddy默认开启Https,Caddy2会自己申请证书

  • 主机名
    • 不为空
    • 不是localhost
    • 不是一个IP地址
    • 不超过一个通配符(*)
    • 通配符必须是最左边的标签
  • 没有显式指定端口为80
  • 没有显式指定使用http协议
  • TLS没有在站点的定义中被关闭
  • 不是你自己提供的证书和密钥
  • Caddy能够绑定到端口80和443(除非使用DNS验证)
# 我这里破坏了其中一个条件,显式指定端口 80,Caddy就会禁用 Https
shellfish.top:80 {
        encode gzip
        reverse_proxy 127.0.0.1:8090
}

4. 用自己的证书和密钥

www.shellfish.top:443 shellfish.top:443 {
        encode gzip
        reverse_proxy 127.0.0.1:8090
        tls /etc/live/5857288_shellfish.top.pem /etc/live/5857288_shellfish.top.key
}
  • 5857288_shellfish.top.pem 证书
  • 5857288_shellfish.top.key 私钥
  • 配置证书的格式 tls cert key,tls为固定,cert为证书,key为私钥
  • 比如我将证书和私钥放在 /etc/live/ 目录下,接下来我只要在 CaddyFile 文件中指定它们的路径即可 tls /etc/live/5857288_shellfish.top.pem /etc/live/5857288_shellfish.top.key

5. 更多功能

上一篇:给小米路由R1D增加WebDAV服务


下一篇:Docker+Caddy+mkcert+Tomcat 在本地配置域名和 HTTPS