Nifi ListenHTTP/HandleHttpRequest 外部访问

问题描述 投票:0回答:0

我想使用 NiFi 来拥有一个 HTTP 侦听器,我会将其用作外部 API 的回调 URL。

所以,我了解了

ListenHTTP
HandleHttpRequest
,它们充当 HTTP 服务器,持续监听定义的路径。 NiFi 服务器在 Docker 上运行并且设置是安全的(
HTTPS
)并且可以通过
https://nifidev.xyz.com/nifi/

访问 UI

现在我设置

HandleHttpRequest
到端口
443
和基本路径到
/callback

当我尝试使用 docker 容器中的

POST
执行一些
cURL
命令时,会生成一个流文件,其中包含传递的详细信息

curl --location 'http://nifidev:443/callback' --header 'Content-Type: text/plain' --data 'foo=bar
userid=12345
startdate=1530576000
enddate=1530698753'

注意:

nifidev
是 cURL 命令中使用的容器名称

现在,当我尝试通过邮递员执行相同操作时,

POST
调用失败

POST请求:https://nifidev.xyz.com:443/callback

<h1>System Error</h1>
<h2>The request contained an invalid host header [<code>nifi-dev.lih.lu:443</code>] in the request
    [<code>/callback</code>]. Check for request manipulation or third-party intercept.</h2>
<h3>Valid host headers are [<code>empty</code>] or: <br/><code>
<ul><li>127.0.0.1</li>
<li>127.0.0.1:8443</li>
<li>localhost</li>
<li>localhost:8443</li>
<li>[::1]</li>
<li>[::1]:8443</li>
<li>nifidev</li>
<li>nifidev:8443</li>
<li>10.0.4.11</li>
<li>10.0.4.11:8443</li>
<li>nifidev.xyz.com</li>
</ul>

</code></h3>

我也试过打电话

POST /callback HTTP/1.1 Host: nifidev.xyz.com
响应 ->
You may have mistyped... but we'll try to redirect you in 5 seconds.

是否可以从 Internet 访问 HTTP 服务器,我是否需要添加任何其他配置以使其可访问。整个设置都在 Docker 上,所以它与要公开访问的容器有关吗?

docker callback apache-nifi
© www.soinside.com 2019 - 2024. All rights reserved.