<返回更多

GitHub 42k+星,这个号称超越Nginx的Web服务器有点厉害

2022-09-01    互联共商
加入收藏


 

Caddy是一个强大且可扩展的Web服务器、代理服务器。Caddy使用Go语言开发,支持HTTP/2IPv6、Markdown、WebSockets、FastCGI、模板等等,目前已经超过42k star。

功能特性

安装

 

Debian、Ubuntu、Raspbian:

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-HTTPS curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list sudo apt update sudo apt install caddy

Fedora 或 RHEL/centos 8:

dnf install 'dnf-command(copr)' dnf copr enable @caddy/caddy dnf install caddy

RHEL/CentOS 7:

yum install yum-plugin-copr yum copr enable @caddy/caddy yum install caddy

API使用入门

运行在2015端口并输出 Hello, world!

 

启动Caddy:

$caddy start

添加一个配置:

$curl localhost:2019/load -H "Content-Type: Application/json" -d @- << EOF { "apps": { "http": { "servers": { "hello": { "listen": [":2015"], "routes": [ { "handle": [{ "handler": "static_response", "body": "Hello, world!" }] } ] } } } } } EOF

浏览器加载:

$curl localhost:2015 Hello, world!

反向代理简单配置

运行以下命令:

caddy reverse-proxy --to 127.0.0.1:9000

如果没有权限,可以绑定较高端口代理:

caddy reverse-proxy --from :2016 --to 127.0.0.1:9000

在Caddy目录中创建一个Caddyfile并包含以下内容:

localhost reverse_proxy 127.0.0.1:9000

然后,从同一目录运行:

caddy run

运行后,可以发送请求到 https://localhost 查看是否正常工作。

更改代理地址也很容易:

:2016 reverse_proxy 127.0.0.1:9000

更改完成后,更新启动Caddy即可在localhost:2016访问代理。

Caddyfile结构

caddy大部分配置都基于独创的Caddyfile完成,以下是它的结构:


 

 

 

开源协议:Apache2.0

开源地址:https://github.com/caddyserver/caddy

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>