9 个版本

0.0.8 2022 年 5 月 20 日
0.0.7 2021 年 2 月 22 日
0.0.6 2021 年 1 月 26 日
0.0.5 2020 年 12 月 31 日
0.0.0-alpha.02019 年 4 月 25 日

#655 in HTTP 服务器

MIT 许可协议

105KB
3K SLoC

see

GitHub Workflow Status Crates.io LICENSE Document

概述

一个简单的快速网络服务器,作为单个可执行文件,无需额外依赖。

功能

  • 使用 TokioHyper 构建
  • 通过 Rustls 实现TLS加密
  • 支持 HTTP/1HTTP/2
  • 内容压缩 autogzipdeflatebr
  • 重写规则用于重定向
  • 允许/拒绝带有通配符的地址
  • 带有正则表达式匹配的位置
  • 反向代理
  • 基本认证
  • 错误处理
  • 自定义日志
  • 等等

使用方法

在当前目录中快速开始

see start

或通过参数指定端口和目录

see start -b 80 -p /root/www

此外,您可以使用 see -c [文件] 指定配置文件,或者直接使用 ~/.see.conf 中的默认配置。以下是一个简单的配置示例,用于启动 HTTPS 服务器

server {
    listen 80
    root /root/www
}

server {
    listen 443
    root /root/www
    host example.com
    https {
        key ./ssl.key
        cert ./ssl.pem
    }
}

文档

文档可在 docs/ 获取。查看它以获取更多配置选项的信息。

安装

发布页面 下载与您的系统相对应的编译后的可执行文件。

Cargo

cargo install see
# or
cargo install --git https://github.com/wyhaya/see

Docker

docker pull wyhaya/see

容器

将以下内容添加到 see.conf

server {
    listen 80
    echo Hello, world!
}

然后运行容器

docker run -idt --name see -p 80:80 -p 443:443 -v '$PWD'/see:/ wyhaya/see

最后,打开链接 https://127.0.0.1,您应该会看到 Hello, world!

许可协议

see 以 MIT 许可证发布。有关详细信息,请查看 LICENSE 文件。


待办事项

  • 修复 Docker 容器(ubuntu,ca-certificates)
  • 修复在同一端口上匹配 https 和 http 的错误
  • 支持全局配置
  • 支持带密码的证书
  • Unix 系统的守护程序和 Windows 的服务

依赖项

~25–39MB
~826K SLoC