2 个稳定版本
1.1.0 | 2024 年 6 月 13 日 |
---|---|
1.0.0 | 2023 年 8 月 28 日 |
#219 in HTTP 服务器
69 每月下载量
47KB
286 行
[//]: # SPDX-FileCopyrightText: © Matteo Settenvini [email protected] [//]: # SPDX-License-Identifier: EUPL-1.2
serves3
一个**非常**简单的代理,用于浏览私有 S3 存储桶中的文件。
适合放置在 Apache 或 NGINX 等其他认证 Web 服务器后面。
也适合进行不同的 TLS 终止。
配置
将 serves3.toml.example
复制到 serves3.toml
并调整您的设置。
您还可以使用相同的文件来自定义服务器选项。请参阅 Rocket 文档 了解支持的值列表。
然后只需配置 Apache 或 NGINX 将代理到指定的端口。例如
<VirtualHost *:443>
ServerName example.com
ServerAdmin support@example.com
DocumentRoot /var/www
ProxyPreserveHost On
ProxyPass /s3/ http://127.0.0.1:8000/
ProxyPassReverse /s3/ http://127.0.0.1:8000/
# ... other options ...
</VirtualHost>
您可能还需要一个 systemd 单元文件,例如 /etc/systemd/system/[email protected]
[Unit]
Description=ServeS3, a S3 proxy
StartLimitInterval=100
StartLimitBurst=10
[Service]
Type=simple
ExecStart=/usr/local/bin/serves3
WorkingDirectory=/etc/serves3/%i/
Environment=ROCKET_PORT=%i
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.target
例如,要在端口 8000 上运行,您需要将相应的配置文件放在 /etc/serves3/8000/
中,并使用 systemctl enable --now serves3@8000.service
安装单元。
构建和安装
如果您想要更精细地控制安装选项,请使用 CMake
cmake -B build .
cmake --build build
cmake --install build
cd run-folder # folder with Settings.toml
serves3
否则,您可以直接使用 cargo
cargo install --root /usr/local --path . # for instance
cd run-folder # folder with Settings.toml
serves3
变更日志
1.1.0 重构配置文件逻辑
- 重大更改:配置文件重命名为
serves3.toml
。请注意,格式略有变化;请参考提供的serves3.toml.example
文件。
1.0.0
- 初始版本。
依赖项
~27–61MB
~1M SLoC