如何使用IIS作为代理设置Apache NiFi

时间:2018-10-10 18:00:05

标签: iis reverse-proxy apache-nifi

我在Windows服务器上运行Apache NiFi。我已经设置了HTTPS访问权限,并通过LDAP将其连接到我的AD以进行用户身份验证。属性nifi.web.https.host的值为localhost,而nifi.web.https.port的值为6444,我可以毫无问题地通过https://localhost:6444/nifi访问Web UI。

我现在想将NiFi设置为在同一服务器上的IIS后运行,以便IIS充当代理。我已经在IIS中创建了一个新站点,并在其web.config文件中配置了URL重写规则,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
</rule>
<rule name="NiFi Reverse Proxy" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="https://localhost:6444/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

IIS和NiFi都使用我组织中的同一SSL证书。

我已将nifi.web.proxy.host文件中的nifi.properties属性配置为nifi01.myorg.com:443

我可以从外部计算机访问https://nifi01.myorg.com/nifi。我看到登录页面,并且能够成功登录。但是,授权完成后,我将重定向到https://localhost:6444/nifi。如果在同一浏览器会话中输入https://nifi01.myorg.com/nifi,则可以看到主要的Nifi工作流程用户界面,该界面告诉我登录过程确实起作用。

有人可以帮我解决https://localhost:6444/nifi发生的重定向。在web.config或nifi.properties文件中我缺少什么?

我发现这篇文章https://community.hortonworks.com/articles/113240/running-apache-nifi-behind-a-proxy-2.html由于不知道设置应该在IIS中的哪个位置,因此无法进行。

0 个答案:

没有答案