
joseluisq/static-web-serverStatic Web Server(简称SWS)是一个小巧快速的生产级Web服务器,适用于提供静态Web文件或资源。它专注于轻量级和易用性原则,同时借助Rust编程语言提供高性能和安全性。基于Hyper和Tokio运行时构建,提供并发和异步网络能力以及最新的HTTP/1 - HTTP/2实现。跨平台支持Linux、macOS、Windows、FreeBSD、NetBSD、Android、Docker和Wasm(通过Wasmer)。
Accept-Encoding头部实现按需压缩Cache-Control头部配置,用于资源缓存控制适用于需要高效提供静态资源的场景,包括但不限于:
bashdocker run -p 8080:80 -v $(pwd)/public:/public joseluisq/static-web-server:2
bashdocker run -p 8080:8080 \ -v $(pwd)/public:/public \ -e SERVER_PORT=8080 \ -e SERVER_ROOT=/public \ -e LOG_LEVEL=info \ -e COMPRESSION_GZIP=true \ joseluisq/static-web-server:2
bashdocker run -p 8080:80 \ -v $(pwd)/public:/public \ joseluisq/static-web-server:2 \ --port 80 \ --root /public \ --gzip true \ --log-level info \ --directory-listing true
yamlversion: '3' services: static-web-server: image: joseluisq/static-web-server:2 ports: - "8080:80" volumes: - ./public:/public environment: - SERVER_ROOT=/public - SERVER_PORT=80 - COMPRESSION_GZIP=true - COMPRESSION_BROTLI=true - LOG_LEVEL=info - DIRECTORY_LISTING=true restart: unless-stopped
| 类型 | 参数/环境变量 | 描述 |
|---|---|---|
| 基本配置 | --port / SERVER_PORT | 服务端口(默认:80) |
--root / SERVER_ROOT | 静态文件根目录(默认:当前目录) | |
--host / SERVER_HOST | 绑定主机地址(默认:0.0.0.0) | |
| 压缩 | --gzip / COMPRESSION_GZIP | 启用GZip压缩(默认:false) |
--brotli / COMPRESSION_BROTLI | 启用Brotli压缩(默认:false) | |
--zstd / COMPRESSION_ZSTD | 启用Zstd压缩(默认:false) | |
| 日志 | --log-level / LOG_LEVEL | 日志级别(可选:off、error、warn、info、debug、trace,默认:info) |
| 目录列表 | --directory-listing / DIRECTORY_LISTING | 启用目录列表(默认:false) |
| CORS | --cors-allow-origins / CORS_ALLOW_ORIGINS | CORS允许的源(默认:*) |
完整配置参数可通过
docker run joseluisq/static-web-server:2 --help查看,或参考官方文档。
更多API详情、高级配置和使用示例,请参考官方文档网站。
!SWS - 2023年4月基准测试
详细基准测试数据请参见基准测试仓库。
v1版本,请查看1.x分支。v1迁移到v2,请参考从v1迁移到v2文档。除非另有明确说明,任何有意提交的贡献(如代码、文档等)将默认采用下述许可协议,无额外条款。欢迎提交拉取请求或问题。
本作品主要采用MIT许可和Apache许可(版本2.0)双重授权。
© 2019-present Jose Quintana

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务