问题标签 [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 投票
1 回答
2211 浏览

tomcat - 强制使用 SSL 到 tomcat 的 ARR 代理

我在让 AAR 反向代理服务器通过后端的 ssl 与 tomcat 服务器通信时遇到问题。server1.com 使用 godaddy ssl 证书侦听端口 443。这是 ARR 服务器 192.168.1.1 server2.com 使用自签名证书侦听端口 8443。这是 Tomcat 服务器 192.168.1.11

这是url重写规则

这是服务器场配置

这是尝试通过 https 访问 server1 时显示的 FailedReqLogFiles在此处输入图像描述

谁能指出我正确的方向?我无权访问 Tomcat 服务器,因此所有魔法都必须在 IIS 服务器上发生。

0 投票
0 回答
393 浏览

wordpress - Wordpress 评论帖子重定向未正确重写

我使用 URL Rewrite / ARR 作为反向代理来模拟 IIS 子目录中的 Wordpress 安装,该子目录实际上在远程 Apache 上运行。

它比我预期的要好,但还有一个烦人的问题:当用户发表评论时,它会被正确重定向并保存在 wp 端。但是,以下重定向没有被正确重写:
我得到的是 eghttp://domain.tld/2014/01/11/posttitle/#comment-6而不是http://domain.tld/blog/2014/01/11/posttitle/#comment-6.
正如我之前所说,所有其他相关链接/图像/样式表都按预期工作,并被重写为domain.tld/blog/<path>.

Wordpress 方面的最后一个操作似乎是(在wp-comments-post.php):

这是我的重写规则:

系统:
IIS 8.5、URL 重写 2、ARR 3
Wordpress 3.8

编辑W3SVC9 日志条目:

谢谢!

0 投票
0 回答
971 浏览

caching - ARR V2.0 内存缓存 - Html 和 Image 缓存对象永远不会命中

我正在本地机器上通过 ARR V2 尝试缓存解决方案。我有一个指向原始服务器的单节点服务器场。并且所有进入我本地机器的请求都将通过入站规则过滤,以定向到该服务器场。

在 ARR 缓存操作面板中,我添加了一个缓存控制规则,以始终将所有对象缓存 20 分钟,以针对所有定向到服务器场的请求。在这里,我想我已经覆盖了服务器场缓存操作面板中的内存缓存持续时间设置。(如我错了请纠正我)

IIS 上的其他一些设置包括:

  1. 用户模式和内核模式都禁用了输出缓存(对我来说有点奇怪,对象仍然缓存在内核缓存中)

  2. 在 ARR 缓存操作面板中禁用了服务器代理设置(我想这不会影响,因为服务器场也是代理)

完成所有设置后,我可以看到当我触发 Web 请求时,所有对象都缓存在我的磁盘缓存中。通过“netsh http show cache”我还可以观察到它们都缓存在内核缓存(ARR内存缓存)中。

但是,当我再次触发 Web 请求时,虽然请求不会发送到原始服务器,但对 html 和图像的请求并没有命中内存缓存,并且通过“netsh http show cache”我可以看到他们的命中数保持不变' 1' 和它们的 TTL 刷新以与它们相应的磁盘缓存对象同步。相比之下,css 和 javascript 总是会命中内存缓存,直到它们过期。在我的 MIME 列表中,它们都被视为静态文件,所以我不明白为什么它们在这里的行为不同。

然后我清除了磁盘缓存对象(主要和次要),并再次触发 Web 请求。现在(请注意,所有对象仍在内存缓存中),只有 html 和图像缓存在磁盘缓存中,而对 css 和 javascript 的请求仍然从内存缓存中提供,因此它们不会出现在磁盘缓存中。

我刚开始尝试 ARR 并没有完全理解这个概念。希望有人能帮忙。

提前致谢。

0 投票
1 回答
4295 浏览

c# - IIS7 应用程序请求路由 HTTPS

我有一个反向代理,可以将流量路由到我的应用服务器..

我的公共网站上有通过 HTTPS 提供的登录功能。SSL 证书仅安装在反向代理服务器中。我的应用服务器没有 SSL 证书。在反向代理服务器中启用 SSL 卸载。

到目前为止效果很好,我可以通过 HTTPS 访问登录页面和会员区。但是,我注意到我的会话 cookie 不安全......

我正在使用 .NET Membership Provider 进行身份验证,这将生成众所周知的ASPXAUTH会话 cookie。我尝试通过以下方式启用此 cookie 的 httponly 和安全标志:

  1. 在 web.config 中为表单身份验证变量添加 requiressl=true
  2. 使用 httponly 和 requiressl=true 添加 httpcookie 变量。

当我尝试登录时,第一个设置总是给我 502 错误。 502 - Web 服务器在充当网关或代理服务器时收到无效响应。

第二个设置给了我 httponly 标志而不是安全标志(我在测试时禁用了第一个设置)。

如何解决这个..一些问题:

  1. 我是否需要在所有服务器中安装 SSL,包括我的应用服务器?
  2. 有什么解决方法吗?

请指教。

附言

我正在使用 IIS 7.5(反向代理)

应用程序请求路由(反向代理)

IIS UrlRewrite 模块(反向代理)

IIS 8(应用服务器)

0 投票
1 回答
2080 浏览

iis - .net Web API 应用程序中的 ARR/URL 重写器

我有两个应用程序。其中一个将处理一系列产品的身份验证。正因为如此,我想从每个单独的网站重写一个 URL 到我们的“身份验证”项目。它看起来像这样。

http://www.mywebsite.com/api/profile/login -> http://www.myauthentication.com/api/profile/login

所以本质上是跨域推送请求。

为此,我在 IIS 中设置了 ARR 和 URL 重写。但是我似乎无法让它工作,而且我感觉 URL 重写没有在通常会导致 404 的请求上运行。我认为这是因为在 REDIRECT 请求(301 重定向)上,配置运行良好。当我使用重写时,我得到一个通用的 404 页面。

规则配置如下所示:

应该注意的是,我使用的是 WebAPI,而不是 MVC,我不确定这是否会导致问题。因为重定向有效,但重写无效,所以我确定我在 IIS 中已安装好所有东西。

对于 ARR,我只是勾选了“启用代理”,但我不确定是否需要做其他任何事情。

0 投票
0 回答
176 浏览

c# - Getting 400 Bad Request Request from WCF services when moving into application request routing web farm

We just moved our B2B shop into a web farm environment using Application Request Routing. We are now in the testphase. Everything seems to work just fine except all the WCF POST calls. Every single one of them keeps giving 400 bad request.

If I access each server in the farm I get the same 400 bad request error. We have not tampered with the config files they are exactly the same as when the site ran on one single server.

Does anybody know what I can check, or where to begin? The old site is still up and running fine so I can't figure out why the WCF calls gives 400 bad request when we set up the site in the web farm.

//Cheers

0 投票
0 回答
663 浏览

iis - 我想使用 Powershell 删除 ARR 缓存对象

我有一些基于线程Delete All Cached Objects in ARR Cache from Command Line or Powershell Script的 powershell

$url 从文件中读取。AFAIK 我应该以http://example.com的形式给这个网址

我希望这会清除 ARR IIS 应用程序和路由缓存文件夹中的一些缓存项,包括 full.gzip,但这个 full.gzip 仍然存在。

我要么错误地理解了它应该如何工作,要么 API 不可靠。

Win2012 IIS 8.0

0 投票
1 回答
1089 浏览

javascript - 获取javascript中两个字符之间的子字符串

在搜索了 SO 和其他文章(全部内容)之后,几天前我问了一个关于仅使用 Javascript 获取两个字符之间的数字的问题。但不幸的是,我想仅使用 javascript 从字符串中获取子字符串,而不仅仅是数字。我有这个字符串

以及仅从字符串中获取数字的解决方案,效果很好

但是如果我们需要获取子字符串,这不起作用,我尝试从正则表达式中删除 \d 但这不起作用。

我在做什么错?这个的输出可以是这样的

实际上,上面的字符串是存储在 MemcacheD 中的 PHP 数组,我在 Node.JS 中检索它,这就是为什么我不能使用 json_encode 左右的原因。我不擅长正则表达式。因此,请专家们对此有所了解。

0 投票
3 回答
2816 浏览

iis - IIS 反向代理重新编码包含百分号 (%) 的 URL

我正在尝试使用 IIS 7.5、应用程序请求路由3.0 (ARR) 和URL Rewrite 2.0为Jenkins设置反向代理。

我的代理大部分都在工作,但是遇到了包含百分号 (%) 的 URL 的问题。

无论我尝试什么,代理都坚持对重写后的 URL 中的百分号进行解码或重新编码。

这就是我希望重写 URL 的方式:

这就是 URL实际被重写的方式:

如何让 IIS\ARR\Rewrite 停止重新编码我重写的 URL?

我尝试过的事情:

  1. 一个普通的反向代理(将 URL 重写为http://my.host:8080/a/b):

    <rule name="ReverseProxyInboundRule1" stopProcessing="true"> <match url="(.*)" ignoreCase="true" /> <action type="Rewrite" url="http://my.host:8080/{R:1}" /> </rule>

  2. 使用UNENCODED_URL服务器变量(将 URL 重写为http://my.host:8080/a%252Fb):

    <rule name="ReverseProxyInboundRule1" stopProcessing="true"> <match url="(.*)" ignoreCase="false" /> <conditions logicalGrouping="MatchAll"> <add input="{UNENCODED_URL}" pattern="/(.*)" /> </conditions> <action type="Rewrite" url="http://my.host:8080/{C:1}" /> </rule>

  3. 只需直接输入 URL(作为测试 - 也将 URL 重写为http://my.host:8080/a%252Fb):

    <rule name="ReverseProxyInboundRule1" stopProcessing="true"> <match url="(.*)" ignoreCase="false" /> <action type="Rewrite" url="http://my.host:8080/a%2Fb" /> </rule>

  4. Scott Hanselman 出色的“古怪实验:在 ASP.NET/IIS 请求 URL 中允许百分比、尖括号和其他顽皮的东西”中的所有想法

    1. <httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="*,:,&amp;,\" relaxedUrlToFileSystemMapping="true" />
    2. <security> <requestFiltering allowDoubleEscaping="true" /> </security>'

注意:当我的 IIS 反向代理与Jenkins 的内置反向代理检查系统发生冲突时,我遇到了这种行为,该系统试图将 HTTP 重定向到此表单的 URL。

0 投票
0 回答
349 浏览

php - IIS ARR 和 FastCGI:“由于线程退出或应用程序请求,I/O 操作已中止。”

我有一个带有硬件负载平衡器的 IIS/Windows 2008 设置,将流量路由到站点 A,它使用 ARR 作为站点 B 的反向代理。站点 B 还通过 FastCGI 运行 PHP。

问题是我有时会在 IIS 日志中看到 500 个错误。站点 B 的失败请求跟踪显示了这个小宝石(几天来我一直在用头撞墙):

GENERAL_READ_ENTITY_END BytesReceived="1", ErrorCode="操作成功完成。(0x0)"

GENERAL_REQUEST_ENTITY 缓冲区="_"

截图: http ://s29.postimg.org/esbkcead3/iis5​​00.png

相比之下,这是正常请求的样子:

GENERAL_READ_ENTITY_END BytesReceived="3702", ErrorCode="操作成功完成。(0x0)" GENERAL_REQUEST_ENTITY Buffer=".........{{实际数据;省略}}....... "

所以看起来 FastCGI 的缓冲区损坏了,我不太确定这是怎么发生的。如果有人可以提供一些建议,我将不胜感激。

谢谢!

(我认为绕过 ARR 时不会发生这种情况,但它似乎不是确定性的,因此由于情况有限,我无法确定测试。无论如何禁用 ARR 不是一种选择。)