+
95
-

Caddy如何实现免费https访问?

Caddy如何实现免费https访问?


网友回复

+
15
-

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%

+
15
-

官网:https://caddyserver.com/

安装

https://caddyserver.com/docs/download

安装很简单,直接下载对应的二进制文件即可,或者按照对应到操作系统去安装也可以。没有其他依赖。

使用

https://caddyserver.com/docs/getting-started

一个命令就可以启动,caddy,默认会去当前目录下寻找 Caddyfile 配置文件,也可以通过 --config 去指定文件位置

caddy st...

点击查看剩余70%

我知道答案,我要回答