

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Broker 配置文件
<a name="broker-file"></a>

Broker 配置文件（`/etc/dcv-session-manager-broker/session-manager-broker.properties`）包含一些参数，可以配置这些参数以自定义 Session Manager 功能。您可以使用常用的文本编辑器编辑配置文件。

**注意**  
`/etc/dcv-session-manager-broker/session-manager-broker.properties` 文件包含敏感数据。默认情况下，其写入访问权限限制为根用户，其读取访问权限限制为根用户和运行 Broker 的用户。默认情况下，这是 `dcvsmbroker` 用户。Broker 在启动时检查文件是否具有预期的权限。

下表列出了 Broker 配置文件中的参数。


| 参数名称 | 必需 | 默认 值 | 说明 | 
| --- | --- | --- | --- | 
| broker-java-home | 否 |  | 指定 Broker 将使用的 Java 主目录的路径，而不是系统默认目录的路径。如果已设置，Broker 将在启动时使用 <broker-java-home>/bin/java。 **提示**：代理需要 Java 运行时环境 11，如果缺少，则将其安装为成功安装的依赖关系。如果版本 11 未设置为默认 Java 环境，可以使用以下命令获取其主目录： <pre>$ sudo alternatives --display java</pre>  | 
| session-screenshot-max-width | 否 | 160 | 指定使用 GetSessionScreenshotsAPI 拍摄的会话屏幕截图的最大宽度（以像素为单位）。 | 
| session-screenshot-max-height | 否 | 100 | 指定使用 GetSessionScreenshotsAPI 拍摄的会话屏幕截图的最大高度（以像素为单位）。 | 
| session-screenshot-format | 否 | png | 使用 GetSessionScreenshotsAPI 拍摄的会话屏幕截图的图像文件格式。 | 
| create-sessions-queue-max-size | 否 | 1000 | 可以排队的最大未完成CreateSessions的 API 请求数。在队列已满时，将拒绝新的未完成请求。 | 
| create-sessions-queue-max-time-seconds | 否 | 1800 | 未完成的 CreateSessionsAPI 请求可以在队列中停留的最长时间（以秒为单位）。如果无法在指定时间内完成请求，请求将失败。 | 
| session-manager-working-path | 是 | /tmp | 指定 Broker 将运行所需的文件写入到的目录路径。只能由 Broker 访问该目录。 | 
| enable-authorization-server | 是 | true | 指定代理是否是用于为客户端生成 OAuth 2.0 访问令牌的身份验证服务器 APIs。 | 
| enable-authorization | 是 | true | 启用或禁用客户端授权。如果启用客户端授权，则客户端 API 在发出 API 请求时必须提供访问令牌。如果您禁用客户端授权，则客户端 APIs 可以在没有访问令牌的情况下发出请求。 | 
| enable-agent-authorization | 是 | true | 启用或禁用 Agent 授权。如果启用 Agent 授权，Agent 在与 Broker 通信时必须提供访问令牌。 | 
| delete-session-duration-hours | 否 | 1 | 指定在经过多少小时后，删除的会话变得不可见，并且 DescribeSession API 调用不再返回这些会话。已弃用：delete-session-duration-hours 更改为 delete-session-duration-seconds – 自 2024.0-493 版本起生效。 | 
| delete-session-duration-seconds | 否 | 3600 | 指定在经过多少秒后，删除的会话变得不可见，并且 DescribeSession API 调用不再返回这些会话。此参数取代了已弃用的 delete-session-duration-hours 参数 – 自 2024.0-493 版本起生效。 | 
| connect-session-token-duration-minutes | 否 | 60 | 指定 ConnectSession 令牌保持有效的分钟数。 | 
| client-to-broker-connector-https-port | 是 | 8443 | 指定 Broker 侦听客户端连接的 HTTPS 端口。 | 
| client-to-broker-connector-bind-host | 否 | 0.0.0.0 | 指定 Broker 为客户端连接绑定的主机的 IP 地址。 | 
| client-to-broker-connector-key-store-file | 是 |  | 指定用于 TLS 客户端连接的密钥存储。 | 
| client-to-broker-connector-key-store-pass | 是 |  | 指定密钥存储密码。 | 
| agent-to-broker-connector-https-port | 是 | 8445 | 指定 Broker 侦听 Agent 连接的 HTTPS 端口。 | 
| agent-to-broker-connector-bind-host | 否 | 0.0.0.0 | 指定 Broker 为 Agent 连接绑定的主机的 IP 地址。 | 
| agent-to-broker-connector-key-store-file | 是 |  | 指定用于 TLS Agent 连接的密钥存储。 | 
| agent-to-broker-connector-key-store-pass | 是 |  | 指定密钥存储密码。 | 
| broker-to-broker-port | 是 | 47100 | 指定用于 broker-to-broker连接的端口。 | 
| broker-to-broker-bind-host | 否 | 0.0.0.0 | 指定代理绑定 broker-to-broker连接的主机的 IP 地址。 | 
| broker-to-broker-discovery-port | 是 | 47500 | 指定 Broker 用于发现对方的端口。 | 
| broker-to-broker-discovery-addresses | 否 |  | port以ip\$1address:格式指定队列中其他代理的 IP 地址和端口。如果有多个 Broker，请使用逗号分隔这些值。如果指定 broker-to-broker-discovery-multicast-group、broker-to-broker-discovery-multicast-port、broker-to-broker-discovery-AWS-region 或 broker-to-broker-discovery-AWS-alb-target-group-arn，则省略该参数。 | 
| broker-to-broker-discovery-multicast-group | 否 |  | 指定要 broker-to-roker发现的多播组。如果指定 broker-to-broker-discovery-addresses、broker-to-broker-discovery-aws-region 或 broker-to-broker-discovery-AWS-alb-target-group-arn，则省略该参数。 | 
| broker-to-broker-discovery-multicast-port | 否 |  | 指定要 broker-to-broker发现的多播端口。如果指定 broker-to-broker-discovery-addresses、broker-to-broker-discovery-AWS-region 或 broker-to-broker-discovery-AWS-alb-target-group-arn，则省略该参数。 | 
| broker-to-broker-discovery-AWS-region | 否 |  | 指定用于代理到代理发现的应用程序负载均衡器的 AWS 区域。如果指定 broker-to-broker-discovery-multicast-group、broker-to-broker-discovery-multicast-port 或 broker-to-broker-discovery-addresses，则省略该参数。 | 
| broker-to-broker-discovery-AWS-alb-target-group-arn | 否 |  | 要发现的应用程序负载均衡器目标组用户的 broker-to-broker ARN。如果指定 broker-to-broker-discovery-multicast-group、broker-to-broker-discovery-multicast-port 或 broker-to-broker-discovery-addresses，则省略该参数。 | 
| broker-to-broker-distributed-memory-max-size-mb | 否 | 4096 | 指定单个 Broker 用于存储 Amazon DCV 会话数据的最大堆外内存量。 | 
| broker-to-broker-key-store-file | 是 |  | 指定用于 TLS Broker 连接的密钥存储。 | 
| broker-to-broker-key-store-pass | 是 |  | 指定密钥存储密码。 | 
| enable-cloud-watch-metrics | 否 | false | 启用或禁用 Amazon CloudWatch 指标。如果您启用 CloudWatch 指标，则可能需要为指定一个值cloud-watch-region。 | 
| cloud-watch-region | 否 | 只有在 enable-cloud-watch-metrics 设置为 true 时才需要。如果 Broker 安装在 Amazon EC2 实例上，则会从 IMDS 中检索区域。 | 发布 CloudWatch 指标的 AWS 区域。 | 
| max-api-requests-per-second | 否 | 1000 | 指定 Broker API 在受到限制之前每秒可以处理的最大请求数。 | 
| enable-throttling-forwarded-for-header | 否 | false | 如果设置为限制true，则从 X-Forwared-For标题中检索来电者IP（如果存在）。 | 
| create-sessions-number-of-retries-on-failure | 否 | 2 | 指定 Amazon DCV 服务器主机上的创建会话请求失败后执行的最大重试次数。设置为 0 表示从不在失败时执行重试。 | 
| autorun-file-arguments-max-size | 否 | 50 | 指定可以传递给自动运行文件的最大参数数量。 | 
| autorun-file-arguments-max-argument-length | 否 | 150 | 指定每个自动运行文件参数的最大长度（字符数）。 | 
| enable-persistence | 是 | false | 如果设置为 true，Broker 状态数据将持久保留在外部数据库中。 | 
| persistence-db | 否 | 只有在 enable-persistence 设置为 true 时才需要。 | 指定用于持久保留数据的数据库。唯一支持的值是：dynamodb 和 mysql。 | 
| dynamodb-region | 否 | 只有在 enable-persistence 设置为 true 并且 persistence-db 设置为 dynamodb 时才需要。 | 指定在其中创建和访问 DynamoDB 表的区域。 | 
| dynamodb-table-rcu | 否 | 只有在 enable-persistence 设置为 true 并且 persistence-db 设置为 dynamodb 时才需要。 | 指定每个 DynamoDB 表的读取容量单位（RCU）。有关 RCU 的更多信息，请参阅[预置容量的定价](https://aws.amazon.com/dynamodb/pricing/provisioned/)。 | 
| dynamodb-table-wcu | 否 | 只有在 enable-persistence 设置为 true 并且 persistence-db 设置为 dynamodb 时才需要。 | 指定每个 DynamoDB 表的写入容量单位（WCU）。有关 WCU 的更多信息，请参阅[预置容量的定价](https://aws.amazon.com/dynamodb/pricing/provisioned/)。 | 
| dynamodb-table-name-prefix | 否 | 只有在 enable-persistence 设置为 true 并且 persistence-db 设置为 dynamodb 时才需要。 | 指定添加到每个 DynamoDB 表的前缀（用于区分使用同一账户的多个代理集群）。 AWS 仅允许使用字母数字字符、圆点、短划线和下划线。 | 
| jdbc-connection-url | 否 | 只有在 enable-persistence 设置为 true 并且 persistence-db 设置为 mysql 时才需要。 | 指定 MariaDB/MySQL 数据库的连接 URL；它包含端点和数据库名称。该 URL 应采用以下格式：<pre>jdbc:mysql://<db_endpoint>:<db_port>/<db_name>?createDatabaseIfNotExist=true</pre> 其中<db\$1endpoint>是 MariaDB/MySQL 数据库端点，<db\$1port>是数据库端口，<db\$1name>是数据库名称。 | 
| jdbc-user | 否 | 只有在 enable-persistence 设置为 true 并且 persistence-db 设置为 mysql 时才需要。 | 指定有权访问 MariaDB/MySQL 数据库的用户的名称。 | 
| jdbc-password | 否 | 只有在 enable-persistence 设置为 true 并且 persistence-db 设置为 mysql 时才需要。 | 指定有权访问 MariaDB/MySQL 数据库的用户的密码。 | 
| seconds-before-deleting-unreachable-dcv-server | 否 | 1800 | 指定从系统中删除无法访问的 Amazon DCV 服务器之前经过的秒数。 | 
| seconds-before-deleting-sessions-unreachable-server | 否 |  | 指定从系统中删除无法访问的 Amazon DCV 服务器上的会话之前经过的秒数。默认情况下，从无法访问的服务器中删除会话的功能处于禁用状态。要启用从无法访问的服务器中删除会话的功能，请提供一个有效值。 | 
| session-screenshot-max-width | 否 | 160 | 指定使用 [GetSessionScreenshots](https://docs.aws.amazon.com/dcv/latest/sm-dev/GetSessionScreenshots.html)API 拍摄的会话屏幕截图的最大宽度（以像素为单位）。如果在 [Web 客户端配置文件](https://docs.aws.amazon.com/dcv/latest/access-console/web-client-config-files.html)中设置了 session-screenshot-max-width，该值将优先使用，并且会覆盖此默认值。请注意，这是最大宽度，因此实际屏幕截图分辨率可能会更低。 | 
| session-screenshot-max-height | 否 | 100 | 指定使用 [GetSessionScreenshots](https://docs.aws.amazon.com/dcv/latest/sm-dev/GetSessionScreenshots.html)API 拍摄的会话屏幕截图的最大高度（以像素为单位）。如果在 [Web 客户端配置文件](https://docs.aws.amazon.com/dcv/latest/access-console/web-client-config-files.html)中设置了 session-screenshot-max-height，该值将优先使用，并且会覆盖此默认值。请注意，这是最大高度，因此实际屏幕截图分辨率可能会更低。 | 