HandleHttpRequest 2025.5.31.15¶
捆绑包¶
org.apache.nifi | nifi-standard-nar
描述¶
启动 HTTP 服务器并监听 HTTP 请求。对于每个请求,创建一个,FlowFile 然后转移到“success”。该处理器旨在与 HandleHttpResponse 处理器配合使用,以创建 Web 服务。如果是多段请求,则会为每一段生成一个 FlowFile。
输入要求¶
FORBIDDEN
支持敏感的动态属性¶
false
属性¶
属性 |
描述 |
---|---|
其他 HTTP 方法 |
以逗号分隔的应允许的非标准 HTTP 方法列表 |
允许 DELETE |
允许 HTTP DELETE 方法 |
允许 GET |
允许 HTTP GET 方法 |
允许 HEAD |
允许 HTTP HEAD 方法 |
允许 OPTIONS |
允许 HTTP OPTIONS 方法 |
允许 POST |
允许 HTTP POST 方法 |
允许 PUT |
允许 HTTP PUT 方法 |
允许的路径 |
一个正则表达式,用于指定传入 URL 请求中允许的有效 HTTP 路径。如果指定了此值,且 HTTP 请求的路径与该正则表达式不匹配,则处理器将返回“404: NotFound”响应 |
客户端身份验证 |
指定处理器是否应该对客户端进行身份验证。如果未指定 <SSL Context Service> 属性或提供的 SSL 上下文仅使用 KeyStore 而不是 TrustStore,则忽略此值。 |
默认 URL 字符集 |
如果 HTTP 请求未提供字符集,则此字符集用于解码 URL 参数 |
HTTP 上下文映射 |
用于缓存 HTTP 请求信息的 HTTP 上下文映射控制器服务 |
HTTP 协议 |
支持与 HTTP 进行应用程序层协议协商的 TLS 协议 |
主机名 |
要绑定的主机名。如果未指定,将绑定到所有主机 |
监听端口 |
监听传入 HTTP 请求的端口 |
最大线程数 |
嵌入式 HTTP 服务器用于处理请求的最大线程数。 |
请求标头最大大小 |
发送到该处理器的请求中支持的最大 HTTP 标头大小 |
SSL Context Service |
用于保护服务器的 SSL Context Service。如果指定,服务器将仅接受 HTTPS 请求;否则,服务器将仅接受 HTTP 请求 |
container-queue-size |
Http 请求容器的队列大小 |
multipart-read-buffer-size |
传入文件的内容将写入磁盘的阈值大小。仅适用于具有 Content-Type: multipart/form-data 的请求。用于防止拒绝服务类型的攻击,防止堆或磁盘空间被填满。 |
multipart-request-max-size |
请求的最大大小。仅适用于具有 Content-Type: multipart/form-data 的请求,用于防止拒绝服务类型的攻击,防止堆或磁盘空间被填满 |
parameters-to-attributes |
以逗号分隔的 HTTP 参数或表单数据列表,作为属性输出 |
关系¶
名称 |
描述 |
---|---|
success |
收到的所有内容都将路由到 success 关系 |
写入属性¶
名称 |
描述 |
---|---|
http.context.identifier |
一个标识符,允许 HandleHttpRequest 和 HandleHttpResponse 协调哪个 HTTP 请求/响应属于哪个 FlowFile。 |
mime.type |
数据的 MIME 类型,根据 HTTP 标头“Content-Type” |
http.servlet.path |
请求 URL 中被视为 Servlet 路径的段 |
http.context.path |
请求 URL 中被视为上下文路径的段 |
http.method |
用于请求的 HTTP 方法,例如 GET 或 POST |
http.local.name |
服务器的 IP 地址/主机名 |
http.server.port |
服务器的监听端口 |
http.query.string |
请求 URL 的查询字符串部分 |
http.remote.host |
请求者的主机名 |
http.remote.addr |
请求者的 hostname:port 组合 |
http.remote.user |
请求者的用户名 |
http.protocol |
用于通信的协议 |
http.request.uri |
完整请求 URL |
http.auth.type |
使用的 HTTP 授权的类型 |
http.principal.name |
发出请求的经过身份验证的用户的名称 |
http.query.param.XXX |
请求中的每个查询参数都将作为属性添加,前缀为“http.query.param.” |
http.param.XXX |
请求中由“Parameters to Attributes List”配置的表单参数将作为属性添加,前缀为“http.param.”。不建议使用大尺寸的表单参数。 |
http.subject.dn |
请求者的可分辨名称。除非将处理器配置为使用 SSLContext 服务,否则不会填充此值 |
http.issuer.dn |
颁发主体证书的实体的可分辨名称。除非将处理器配置为使用 SSLContext 服务,否则不会填充此值 |
http.certificate.sans.N.name |
来自相互 TLS 身份验证的 X.509 客户端证书主题备用名称值。属性名称的索引从零开始,按客户端证书的内容排序 |
http.certificate.sans.N.nameType |
来自相互 TLS 身份验证的 X.509 客户端证书主题备用名称类型。属性名称的索引从零开始,按客户端证书的内容排序。该属性值是 RFC 3280 第 4.1.2.7 节中的通用名称之一 |
http.headers.XXX |
请求中收到的每个 HTTP 标头都将作为属性添加,前缀为“http.headers”。例如,如果请求包含一个名为“x-my-header”的 HTTP 标头,则该值将添加到名为“http.headers.x-my-header”的属性中 |
http.headers.multipart.XXX |
在多段请求中收到的每个 HTTP 标头都将作为属性添加,前缀为“http.headers.multipart”。例如,如果多段请求包含一个名为“content-disposition”的 HTTP 标头,则该值将添加到名为“http.headers.multipart.content-disposition”的属性中 |
http.multipart.size |
对于 Content-Type 为“multipart/form-data”的请求,该段的内容大小将记录到此属性中 |
http.multipart.content.type |
对于 Content-Type 为“multipart/form-data”的请求,该段的内容类型将记录到此属性中 |
http.multipart.name |
对于 Content-Type 为“multipart/form-data”的请求,该段的名称将记录到此属性中 |
http.multipart.filename |
对于 Content-Type 为“multipart/form-data”的请求,当该段包含上传的文件时,该文件的名称将记录到此属性中。文件暂时存储在“java.io.File”中指定的默认临时文件目录中(Java 文档) |
http.multipart.fragments.sequence.number |
对于 Content-Type 为“multipart/form-data”的请求,该段的索引将记录到此属性中。索引以 1 开头。 |
http.multipart.fragments.total.number |
对于 Content-Type 为“multipart/form-data”的请求,所有段的计数都记录到此属性中。 |