问题标签 [iis-arr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
17699 浏览

iis - 向 ARR 请求添加自定义标头

我正在使用 ARR 作为反向代理在 IIS 后面运行服务。我知道有x-forwarded-forx-arr-log-id标题被传递。但是,我想要的是传入的私钥,以便支持应用程序明确知道请求不是本地的(即使 ARR 服务器是)。我看过一些关于添加/替换服务器变量的帖子,但这似乎不是通过支持应用程序上的请求标头来实现的。

我猜肯定有一些 web.config 设置可以做到这一点,但到目前为止还没有找到它。

例子:X-PRIVATE-TOKEN: We are the children of Korn!

这样我就可以相信x-forwarded-for地址是实际地址,而不是简单地不信任所有代理请求的 IP 地址引用。

0 投票
2 回答
3154 浏览

routing - 应用程序请求路由不路由到同一台机器

我在我的 IIS 服务器中设置了一个 ARR。我的要求是我必须将此 ARR 服务器的请求路由到我在本地 IIS(ARR 服务器本身)中托管的应用程序之一。可能吗?

IE。假设在我的 ARR 服务器中有 Application1。然后我必须执行以下操作

Broswer -> ARR (iis server) -> Application1(它本身在 ARR 服务器中)。

如果可能的话,如何实现这样的设置?

0 投票
4 回答
3457 浏览

iis - 如何跟踪应用程序请求路由增加的开销?

我们有一个需要启用 SSL 的 Delphi SOAP 服务。我选择使用 IIS ARR 反向代理进行 SSL 卸载以简化配置(与 OpenSSL 和手动证书 + 密码管理相比)。ARR 有效,但它增加了大量开销...... 18 个服务请求的响应时间从不到 2 秒缩短到 19 秒(压缩后总计约 60Kb)。

我在发送和接收消息时向客户端和服务器添加了时间戳日志记录。它显示从客户端发送到服务接收之间通过 ARR 的每个请求路由增加了大约 1 秒。响应很快被路由回来,只有通过 ARR 的请求路由很慢(见下图)。

如何追踪开销的来源?ARR 不适合这个用例吗?我尝试调整和禁用大多数设置,包括缓存。我尝试了具有干净 IIS 设置的不同主机,包括生产 Windows Server 2012。SSL 本身不是开销,只是使用 ARR HTTP 反向代理会导致延迟。

来自 Fiddler 的请求和响应示例:

客户端和服务器时间戳网格

I0IS 跟踪显示来自 ARR 的开销

0 投票
0 回答
994 浏览

asp.net-mvc - 基于登录用户的 IIS URL 重写

我有一个场景,我想将来自经过身份验证的用户的 http 请求路由到隐藏在反向代理后面的特定网站。路由哪个站点的决定也取决于特定用户。例如,用户“Mary”可能被路由到站点“b”;用户“John”可能会被路由到站点“e”。

我在 IIS 上托管网站,并使用 ARR 作为我的反向代理。我正在尝试找出使用 URL 重写来做出路由决策的最佳方法。

我的一个想法是构建一个自定义 URL 重写提供程序,它解密 FormsAuthTicket(由 ASP.NET MVC 网站创建)并根据该 cookie 中的信息做出路由决策。

任何人都可以就我如何解决这个问题提供一些指导吗?我在正确的道路上吗?

0 投票
1 回答
408 浏览

windows-server-2008-r2 - IIS8 反向代理 - 自定义外部端口

我正在尝试配置我的 IIS 反向代理以将 http 连接路由到内部服务器,但是我不确定如何实现我需要的,或者即使它是可能的。

例如,我的 IIS 服务器上有一个子域,

testing.contoso.com 和外部我想要http://testing.contoso.com:8080,然后它会映射到我的内部服务器http://server04.contoso.local:8080。所以我不希望我的内部站点在端口 80 上显示为http://testing.contoso.com 。

我这样做的原因是我会有相当多的内部和外部对应端口。

是否可以使用我的 IIS 反向代理进行配置,或者 IIS 是否仅支持外部端口 80 和 443?

提前致谢, 尼尔

0 投票
1 回答
660 浏览

iis-arr - IIS ARR - 离线安装?

尝试安装 IIS ARR,上次是通过 web 平台在线安装程序成功,但是,我们的生产服务器被阻止了所有互联网连接,有什么方法可以离线安装吗?真的提前感谢帮助!

0 投票
1 回答
712 浏览

iis-arr - IIS ARR 删除 http 请求标头?

我们在 iis arr 设置背后有一个供应商 Web 服务,由于某种原因,它不适用于 relic http 请求标头,不幸的是,因为我们对代码一无所知,我们正在考虑是否有任何方法可以从iis arr,请帮忙!谢谢

0 投票
1 回答
2030 浏览

asp.net - SignalR websocket 失败并出现意外响应代码 502 (IIS 8.5 / ARR 3.0)

尝试使用 SignalR 建立 web socked 连接时,出现意外响应错误 502。

IE 10 报告:'WebSocket 错误:HTTP 响应不正确。状态码 502,错误网关'

Chrome 报告:'WebSocket 连接到'wss://domain/root/signalr/connect?transport=webSockets&client....'失败:WebSocket 握手期间出错:意外响应代码:502'

当我直接连接到服务器时,一切正常。

我现在花了大约 3-4 天的时间来寻找如何让 SignalR 2.2.1 在 Windows Server 2012 R2、ARR 3.0 中与 IIS 8.5 一起工作。我正在使用 SSL/https,我在所有后端服务器上配置了粘性会话,相同的机器密钥。

我已经设置了一个测试系统,它后面只有一个服务器,我已经尝试了我能找到的每一个建议,但我仍然找不到解决方案 - 或者就此而言,任何人都表示他们已经成功配置了这个,即使微软声称它是支持“没有额外的配置”。

任何人都可以为我提供指导或参考以使其正常工作吗?

任何人都可以确认它甚至可以工作 - 或者它不起作用吗?

0 投票
1 回答
1092 浏览

tomcat - 带有 Keycloak (8443) 身份验证的 IIS (443) 后面的 Tomcat (8080):tomcat 重定向到 443 端口而不是 8443 上的 keycloak

用例: 由于具体限制,我需要配置如下配置:

  • Tomcat 配置为使用端口 8080
  • IIS 配置为使用端口 443 (SSL)
  • IIS 通过 ARR + URL 重定向规则重定向到 Tomcat
  • Keycloak 独立配置为使用端口 8443 (SSL)
  • 通过公共域而不是 IP 地址访问应用程序(即:www.myserver.com)

将使用 IIS 代理访问 Tomcat 应用程序: https://server/myapp

Keycloak 身份验证将直接使用 keycloak URL 访问: https://server:8443/auth/ ....

问题: 当我使用 8443 安全端口直接访问 keycloak 时效果很好,但是当我通过 IIS 代理 (443) 访问 Java 应用程序时,IIS/Tomcat 将 keycloak 身份验证重定向到端口 443 而不是端口 8443。

问题: 我是否缺少 IIS、Tomcat 或 Keycloak 上的任何设置以使 tomcat 重定向到正确的 keycloak 8443 端口进行身份验证?

即:当向浏览器添加https://server/myapp URL 时,tomcat 应用程序正在重定向(用于身份验证)到https://server/auth/而不是https://server:8443/auth/

IIS ARR 配置屏幕截图: IIS ARR 设置

IIS 重定向规则配置截图 IIS 重定向规则

部署用例截图 部署用例图

0 投票
0 回答
50 浏览

asp.net - IIS - 将请求重新路由到另一个节点

我已经使用 IIS(7+)在两个 Windows 服务器(节点)上部署了应用程序。在默认网站下,我配置了两个不同的服务/应用程序,如下所示。

在节点 1 上我想停止服务 1 & 在节点 2 上我想停止服务 2。

因此,我为每个服务创建了应用程序池并停止了相应的服务。

节点1::

Service1 -> AppPool1 -> AppPool1 已停止

Service2 -> AppPool2 -> AppPool2 正在运行

对于 Node2,反之亦然。

Windows 服务器节点在循环负载平衡器中配置。并可通过 LB URL“ https://LBDomainEntry/ ”访问。我使用以下格式访问服务:

问题:Web 服务出现间歇性问题。有时reuest会成功,有时会失败。

限制:我无法控制 LB。但我可以控制 Windows 服务器。

问题:

  1. 我该如何解决这个问题,是否有任何重新路由选项可用于在 IIS 中配置以将其路由到另一个节点?
  2. 我遇到了 ARR(应用程序请求路由)功能,我可以在这里使用它吗?如何使用?