Caddy 一个可扩展的服务器平台,默认使用 TLS

Caddy 一个可扩展的服务器平台,默认使用 TLS

2022-12-12 0 1,003
资源编号 49629 最近更新 2022-12-12
¥ 0人民币 升级VIP
立即下载 注意事项
下载不了?请联系网站客服提交链接错误!
增值服务: 安装指导 环境配置 二次开发 模板修改 源码安装

本期推荐的Caddy 一个可扩展的服务器平台,默认使用 TLS。

Caddy 一个可扩展的服务器平台,默认使用 TLS

Caddy 是一个强大的、可扩展的平台,可以为您的站点、服务和应用程序提供服务,用 Go 编写。使用Caddy 的 API配置是动态的和可导出的。虽然不需要配置文件,但您仍然可以使用它们;大多数人最喜欢配置 Caddy 的方式是使用Caddyfile。配置文档的格式有多种形式,带有配置适配器,但 Caddy 的原生配置语言是JSON。

特征Caddy

  • 使用Caddyfile轻松配置
  • 强大的配置及其原生 JSON 配置
  • 使用JSON API进行动态配置
  • 如果您不喜欢 JSON,请配置适配器
  • 默认 自动 HTTPS
  • 当其他服务器因 TLS/OCSP/证书相关问题而停机时保持正常运行
  • 在处理数万亿个请求并管理数百万个 TLS 证书后,可投入生产
  • 扩展到数以万计的站点……而且可能更多
  • HTTP/1.1、HTTP/2 和实验性 HTTP/3支持
  • 高度可扩展的 模块化架构让 Caddy 做任何事情都不会臃肿
  • 在没有外部依赖的任何地方运行(甚至没有 libc)
  • 用 Go 编写,一种比其他服务器具有更高内存安全保证的语言

Caddy安装

Debian、Ubuntu、Raspbian

安装此软件包会自动启动并运行 Caddy 作为名为的systemd 服务,如果您需要,caddy还附带一个默认caddy-api启用的服务。

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

测试版本(包括 beta 和候选版本):

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

Fedora、红帽、CentOS

这个包附带了 Caddy 的两个systemd 服务单元文件,但默认情况下不启用它们。

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

Webi

Linux 和 macOS:

curl -sS https://webinstall.dev/caddy | bash

windows:

curl.exe -A MS https://webinstall.dev/caddy | powershell

您可能需要调整 Windows 防火墙规则以允许非本地主机传入连接。

快速入门

首先启动Caddy:

caddy start

Caddy 当前处于空闲状态(配置为空白)。给它一个简单的配置curl:

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!"
                                }]
                            }
                        ]
                    }
                }
            }
        }
    }

使用Heredoc提供 POST 正文可能很乏味,因此,如果您更喜欢使用文件,请将 JSON 保存到名为的文件中caddy.json,然后改用以下命令:

curl localhost:2019/load \
  -H "Content-Type: application/json" \
  -d @caddy.json

现在在浏览器中加载localhost:2015curl或使用:

curl localhost:2015
Hello, world!

我们还可以使用这个 JSON 在不同的接口上定义多个站点:

{
	"apps": {
		"http": {
			"servers": {
				"hello": {
					"listen": [":2015"],
					"routes": [
						{
							"handle": [{
								"handler": "static_response",
								"body": "Hello, world!"
							}]
						}
					]
				},
				"bye": {
					"listen": [":2016"],
					"routes": [
						{
							"handle": [{
								"handler": "static_response",
								"body": "Goodbye, world!"
							}]
						}
					]
				}
			}
		}
	}
}

更新您的 JSON,然后再次执行 API 请求。

在浏览器中尝试新的“再见”端点,或使用curl以确保它有效:

curl localhost:2016
Goodbye, world!

完成 Caddy 后,请务必停止它:

caddy stop

反向代理快速入门

先决条件:

  • 基本的终端/命令行技能
  • caddy在你的路径中
  • 要代理到的正在运行的后端进程

在您的终端中,运行以下命令:

caddy reverse-proxy --to 127.0.0.1:9000

如果您无权绑定到低端口,则可以从较高端口代理:

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

然后向localhost(或您在 中指定的任何地址–from)发出请求以查看它是否正常工作!

在当前工作目录中,创建一个名为Caddyfile以下内​容的文件:

localhost

reverse_proxy 127.0.0.1:9000

然后,从同一目录运行:

caddy run

然后,您可以向https://localhost发出请求以查看它是否正常工作!

HTTPS 和端口

Caddy 的默认端口不再是:2015. Caddy 2 的默认端口是:443,或者,如果不知道主机名/IP,则为 port :80。您始终可以在配置中自定义端口。

如果主机名或 IP 已知, Caddy 2 的默认协议始终是 HTTPS 。这与 Caddy 1 不同,在 Caddy 1 中,默认情况下只有公开域名使用 HTTPS。现在,每个站点都使用 HTTPS(除非您通过明确指定端口:80或禁用它http://)。

IP 地址和 localhost 域将从本地受信任的嵌入式 CA颁发证书。所有其他域将使用 ZeroSSL 或 Let’s Encrypt。(这都是可配置的。)

证书和 ACME 资源的存储结构发生了变化。Caddy 2 可能会为您的站点获得新证书;但是如果您有很多证书,如果它不适合您,您可以手动迁移它们。

—END—

开源协议:Apache-2.0 license

资源下载此资源为免费资源立即下载

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

七爪网 免费源码 Caddy 一个可扩展的服务器平台,默认使用 TLS https://www.7claw.com/49629.html

七爪网源码交易平台

常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、七爪会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、七爪无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在七爪上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于七爪介入快速处理。
查看详情
  • 1、七爪作为第三方中介平台,依据交易合同(商品描述、交易前商定的内容)来保障交易的安全及买卖双方的权益; 2、非平台线上交易的项目,出现任何后果均与互站无关;无论卖家以何理由要求线下交易的,请联系管理举报。
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务