2 个稳定版本

1.1.0 2024 年 6 月 13 日
1.0.0 2023 年 8 月 28 日

#219 in HTTP 服务器

Download history 164/week @ 2024-06-10 5/week @ 2024-06-17 9/week @ 2024-07-01

69 每月下载量

EUPL-1.2

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