2 个版本
0.1.1 | 2019 年 12 月 30 日 |
---|---|
0.1.0 | 2019 年 12 月 30 日 |
#1302 in HTTP 服务器
22KB
134 行
fserv
fserv 是一个具有单页应用和代理支持的文件服务器,使用 actix 构建。
许可证: MIT / Apache
安装
cargo install fserv
fserv 应该现在位于您的本地 cargo bin 目录中
用法
fserv -p <port> -i <index_file> -d <directory> -f <path>=<target> -f <path>=<target>
寻求帮助
fserv --help
示例
使用以下文件夹结构
base_dir
├── html_data/
│ └── index.html
└── build/
├── main.js
└── style.css
使用以下命令
base_dir $ fserv -p 9000 -i html_data/index.html -d build -f api=http://localhost:9010 -f ws=https://127.0.0.1:9020
这将启动服务器并监听 9000 端口,并服务 build 目录中的文件。对 /api 和 /ws 的请求将被代理
请求 | 响应 |
---|---|
localhost:9000/ | html_data/index.html 文件 |
localhost:9000/main.js | build/main.js 文件 |
localhost:9000/style.css | build/style.css 文件 |
localhost:9000/unknown.png | html_data/index.html 文件,因为文件不存在 |
localhost:9000/user/info | html_file/index.html 文件 |
localhost:9000/api/list | 将请求代理到 https://127.0.0.1:9010/api/list |
localhost:9000/ws/updates | 将请求代理到 https://127.0.0.1:9020/ws/updates |
配置
USAGE:
fserv [FLAGS] [OPTIONS]
FLAGS:
-h, --help
Prints help information
-n, --no-spa
Disables spa mode. When spa mode is enabled an index.html (configured by -i flag) file is returned when a
resourece is not found When spa mode is disabled a 404 error is returned when a resource is not found
-V, --version
Prints version information
OPTIONS:
-d, --directory <directory>
Directory to serve. Uses current directory by default [default: .]
-i, --index-file <index-file>
The file to server if when a resource is not found and spa mode is enabled [default: index.html]
-p, --port <port>
Sets the port [default: 8000]
-f, --forward <proxies>...
Optional path to forward as a key=value pair. Multiple entries can be added
-w, --workers <workers>
Sets the number of worker threads [default: 1]
依赖项
~26–37MB
~661K SLoC