Caddy如何实现免费https访问?
网友回复
Caddy 是一个多功能的 HTTP web服务器,并且使用Let's Encrypt提供的免费证书,自动让网站升级到HTTPS
下载 Caddy download,下载地址:https://caddyserver.com/download
在官网上选择指定的平台,下载指定平台的运行包。 这里以 CentOS 7.0 x64 为例。 选择 Linux 64-bit,然后点 DOWNLOAD。
通过ftp将下载好的包上传到服务器,或者复制出下载地址直接在服务端 wget https://caddyserver.com/download/linux/amd64。
使用 wget 的模式下载下来的文件名是 amd64。 tar -xzvf amd64 解压, 解压后文件如下。 我们可以直接运行 ./caddy,这样就启动了一个静态的web服务器,根目录为当前目录,端口为 2015,可以通过你服务器的ip地址加上:2015 进行访问了。
如果你访问的时候,报404异常,在你当前目录下添加一个 index.html 文件即可。
Caddyfile 配置
这里我们看一下官网的例子说明 Caddy Documentation
:2015 # Host: (any), Port: 2015 localhost # Host: localhost; Port: 2015 localhost:8080 # Host: localhost; Port: 8080 example.com # Host: example.com; Ports: 80->443 http://example.com # Host: example.com; Port: 80 https://example.com # Host: example.com; Ports: 80->443 http://example.com:1234 # Host: example.com; Port: 1234 https://example.com:80 # Error! HTTPS on port 80 *.example.com # Hosts: *.example.com; Port: 2015 example.com/foo/ # Host: example.com; Ports: 80, 443; Path: /foo/ /foo/ # Host: (any), Port: 2015, Path: /foo/通过上面这些例子,就可以大概了解到Caddy的域名适配规则。
这个是我的所有站点的配置,可以看出来相比Nginx简单了很多:
log 用于记录访问日志 gzip 用于启用gzip压缩 proxy 用于支持反向代理 websocket 用于支持websocket协议 所有的插件文档,可以 Caddy Documentation 从官方文档上看到,都有详细的配置说明,简单易上手。
使用 caddy -conf Caddyfile 就可以使用配置文件来启动,确保80和443端口没有被服务占用。
Caddyfile 文件:
example.com { # 启动 http 和 https,访问 http 会自动转跳到 https log access_log.log # 日志 gzip # 使用gzip压缩 proxy / http://127.0.0.1:3999 { # 路径转发 header_upstream Host {host} header_upstream X-Real-IP {remote} header_upstream X-Forwarded-For {remote} header_upstream X-Forwarded-Proto {scheme} } } http://api.example.com https://api.example.com { # 同时启用 http 和 https 不会自动转跳 gzip proxy / http://127.0.0.1:4999 { header_upstream Host {host} header_upstream X-Real-IP {remote} header_upstream X-Forwarded-For {remote} header_upstream X-Forwarded-Proto {scheme} } } hook.example.com { proxy / http://127.0.0.1:9000 { header_upstream Host {host} header_upstream X-Real-IP {remote} header_upstream X-Forwarded-For {remote} header_upstream X-Forwarded-Proto {scheme} } } http://file.example.com { proxy / http://127.0.0.1:22222 } https://file.example.com { root /data/file-upload # 指定静态文件根目录 } yd.example.com { gzip root /data/ydig proxy /ws http://127.0.0.1:9001 { # 转发所有 /ws 为 websocket websocket } } 8.example.com { gzip root /data/quaver }在对比...
点击查看剩余70%
官网:https://caddyserver.com/
安装
https://caddyserver.com/docs/download
安装很简单,直接下载对应的二进制文件即可,或者按照对应到操作系统去安装也可以。没有其他依赖。使用
https://caddyserver.com/docs/getting-started
一个命令就可以启动,caddy,默认会去当前目录下寻找 Caddyfile 配置文件,也可以通过 --config 去指定文件位置caddy st...
点击查看剩余70%