注意
本文档适用于 Ceph 的开发版本。
HTTP 前端
Ceph 对象网关支持两个嵌入式 HTTP 前端库,可以通过 rgw_frontends 进行配置。有关语法的详细信息,请参阅 Ceph 对象网关配置参考。
Beast
Mimic 版本中的新功能。
beast 前端使用 Boost.Beast 库进行 HTTP 解析,使用 Boost.Asio 库进行异步网络 I/O。
选项
port 和 ssl_port
- 描述:
设置 IPv4 和 IPv6 监听端口号。可以多次指定,例如
port=80 port=8000。- 类型:
整数
- 默认值:
80
endpoint 和 ssl_endpoint
- 描述:
设置监听地址,格式为
address[:port],其中 address 是点分十进制形式的 IPv4 地址字符串,或者是用方括号括起来的十六进制表示法的 IPv6 地址。指定 IPv6 端点将只监听 IPv6。可选端口默认为endpoint的 80 和ssl_endpoint的 443。可以多次指定,例如endpoint=[::1] endpoint=192.168.0.100:8000。- 类型:
整数
- 默认值:
None
ssl_certificate
- 描述:
用于启用 SSL 的端点的 SSL 证书文件的路径。如果路径前缀为
config://,则证书将从 Ceph Monitorconfig-key数据库中提取。- 类型:
String
- 默认值:
None
ssl_private_key
- 描述:
用于启用 SSL 的端点的私钥文件的可选路径。如果未提供,则使用
ssl_certificate文件作为私钥。如果路径前缀为config://,则证书将从 Ceph Monitorconfig-key数据库中提取。- 类型:
String
- 默认值:
None
ssl_reload
- 描述:
可选的间隔时间(以秒为单位),用于定期重新创建 SSL 上下文,这将从其指定路径重新加载 SSL 证书和私钥。值为
0会禁用此功能。重新加载对现有连接没有干扰。如果重新加载失败,将继续使用以前的上下文。- 类型:
整数
- 默认值:
0
ssl_options
- 描述:
可选的 SSL 上下文选项列表,用冒号分隔
default_workarounds实现各种错误修复。no_compression禁用压缩。no_sslv2禁用 SSL v2。no_sslv3禁用 SSL v3。no_tlsv1禁用 TLS v1。no_tlsv1_1禁用 TLS v1.1。no_tlsv1_2禁用 TLS v1.2。single_dh_use使用 tmp_dh 参数时始终创建新密钥。- 类型:
String
- 默认值:
no_sslv2:no_sslv3:no_tlsv1:no_tlsv1_1
ssl_ciphers
- 描述:
可选的密码字符串列表,一个或多个,用冒号分隔。字符串的格式在 openssl 的 ciphers(1) 手册中描述。
- 类型:
String
- 默认值:
None
tcp_nodelay
- 描述:
如果设置,此套接字选项将禁用连接上的 Nagle 算法,这意味着数据包将尽快发送,而不是等待完整的缓冲区或超时发生。
1为所有套接字禁用 Nagle 算法。0保持默认:Nagle 算法启用。- 类型:
整数 (0 或 1)
- 默认值:
0
max_connection_backlog
- 描述:
用于定义等待接受连接队列最大大小的可选值。如果未配置,将使用
boost::asio::socket_base::max_connections的值。- 类型:
整数
- 默认值:
None
request_timeout_ms
- 描述:
beast等待传入或传出数据的毫秒数,超过此时间则放弃。将此值设置为0将禁用超时。- 类型:
整数
- 默认值:
65000
max_header_size
- 描述:
单个请求可用的最大标头字节数。
- 类型:
整数
- 默认值:
16384- 最大值:
65536
so_reuseport
- 描述:
如果设置,允许主机上的多个 RGW 实例监听同一个 TCP 端口。
1允许在同一端口上运行多个 RGW。0禁止在同一端口上运行多个 RGW。- 类型:
整数 (0 或 1)
- 默认值:
0
通用选项
某些前端选项是通用的,并受所有前端支持
prefix
- 描述:
插入到所有请求 URI 中的前缀字符串。例如,一个仅限 swift 的前端可以提供一个 URI 前缀
/swift。- 类型:
String
- 默认值:
None