问题标签 [isapi-redirect]

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 回答
373 浏览

tomcat - Apache ISAPI 重定向器是否会切断 Cookie 数据?

我有一个关于 ISAPI 重定向器中的处理的问题,特别是在 AJP13 处理中是我的情况发生的地方。至少根据我从日志中得到的信息,我是这么认为的。

首先让我描述一下我的设置/配置/平台。我在带有 IIS 6.0(在“IIS 5.0 隔离模式下运行”)的 Windows Server 2003 SE (SP2) 上运行 Tomcat 6.0(文件版本为 2.0.4.0,每个“tomcat6.exe”属性),并且正在使用 ISAPI Redirector v 1.2。 26.0 日期为 2008 年 9 月 10 日。我知道我的配置是正确的,因为 IIS 正在将我的请求传递给 ISAPI 过滤器,并且 Tomcat 上的页面正在工作——在某种程度上。我有一个使用多个 Java servlet 和一个的应用程序这些 servlet 中使用的类处理由我们使用的访问控制产品 GetAccess 生成的 cookie 中的数据。GetAccess 使用 ISAPI 过滤器进行访问控制和验证,我们将其配置为在 cookie 中保留用户 ID 和名称我们的应用程序使用它来为每个用户制作个人页面。

在 ISAPI 重定向器日志中,我可以看到 cookie 信息被传递到 ajp13 处理器。以下是包含此信息的日志片段:

(我已经分隔了 GetAccess cookie 数据所在的缓冲区部分。我还用“X”替换了我希望保密的信息,我相信这不会影响这个问题。)

[2010 年 6 月 16 日星期三 10:34:40.107] [3796:1872] [调试] jk_ajp_common.c (934):发送到 ajp13 pos=4 len=1104 max=8192 [2010 年 6 月 16 日星期三 10:34:40.107] [ 3796:1872] [调试] jk_ajp_common.c (934): 0000 12 34 04 4C 02 02 00 08 48 54 54 50 2F 31 2E 31 - .4.L....HTTP/1.1 [6 月 16 日星期三 10:34 :40.107 2010] [3796:1872] [调试] jk_ajp_common.c (934): 0010 00 00 0D 2F 73 64 73 2F 66 61 63 65 2E 6A 73 70 - .../sds/face.jsp [6 月 16 日星期三10:34:40.107 2010] [3796:1872] [调试] jk_ajp_common.c (934): 0020 00 00 0C 31 30 2E 33 32 2E 36 38 2E 32 30 38 00 - ...XX.XX.XX.208 . [2010 年 6 月 16 日星期三 10:34:40.107] [3796:1872] [调试] jk_ajp_common.c (934): 0030 00 0C 31 30 2E 33 32 2E 36 38 2E 32 30 38 00 00 - ..XX.XX。 XX.208 .. [2010 年 6 月 16 日星期三 10:34:40.107] [3796:1872] [调试] jk_ajp_common.c (934): 0040 18 6A 63 61 73 74 65 72 62 65 74 61 2E 6A 63 70 - 。


[2010 年 6 月 16 日星期三 10:34:40.107] [3796:1872] [调试] jk_ajp_common.c (934): 0260 3B 47 41 55 53 45 52 49 4E 46 4F 3D 66 69 72 73 - ;GAUSERINFO=firs [星期三2010 年 6 月 16 日 10:34:40.107] [3796:1872] [调试] jk_ajp_common.c (934): 0270 74 5F 6E 61 6D 65 3D 52 49 43 48 41 52 44 26 6C - t_name=RICHARD&l [Wed Jun 16 1 :34:40.107 2010] [3796:1872] [调试] jk_ajp_common.c (934): 0280 61 73 74 5F 6E 61 6D 65 3D 43 55 52 52 59 26 6D - ast_name=CURRY&m [6 月 16 日星期三 10:34: 40.107 2010] [3796:1872] [调试] jk_ajp_common.c (934): 0290 69 64 64 6C 65 5F 69 6E 69 74 69 61 6C 3D 47 26 - iddle_initial=G& [6 月 16 日星期三 10:104:40.107] [3796:1872] [调试] jk_ajp_common.c (934): 02a0 63 6F 72 70 6F 72 61 74 65 5F 69 64 3D 52 47 43-corporate_id=XXX [2010 年 6 月 16 日星期三 10:34:40.107] [3796: 1872] [调试] jk_ajp_common.c (934):02b0 55 52 52 59 00 A0 0B 00 18 6A 63 61 73 74 65 72 - XXXX.....XXXXXXX


[2010 年 6 月 16 日星期三 10:34:40.107] [3796:1872] [调试] jk_ajp_common.c (934): 02c0 62 65 74 61 2E 6A 63 70 65 6E 6E 65 79 2E 63 6F - XXXX.XXXXXXXX.XX [ 2010 年 6 月 16 日星期三 10:34:40.107] [3796:1872] [调试] jk_ajp_common.c (934): 02d0 6D 00 A0 0D 00 24 68 74 74 70 3A 2F 2F 6A 63 61 - X....$ http ://XXX 0330 3B 20 2E 4E 45 54 20 43 4C 52 20 31 2E 31 2E 34 - ;..NET.CLR.1.1.4 [2010 年 6 月 16 日星期三 10:34:40.107] [3796:1872] [调试] jk_ajp_common.c (934):0340 33 32 32 3B 20 2E 4E 45 54 20 43 4C 52 20 32 2E - 322;.NET.CLR.2。[2010 年 6 月 16 日星期三 10:34:40.107] [3796:1872] [调试] jk_ajp_common.c (934): 0350 30 2E 35 30 37 32 37 3B 20 2E 4E 45 54 20 43 4C - 0.50727;..NET。 CL [2010 年 6 月 16 日星期三 10:34:40.107] [3796:1872] [调试] jk_ajp_common.c (934): 0360 52 20 33 2E 30 2E 34 35 30 36 2E 32 31 35 32 3B - R.3.0.4506.251 ; [2010 年 6 月 16 日星期三 10:34:40.107] [3796:1872] [调试] jk_ajp_common.c (934): 0370 20 2E 4E 45 54 20 43 4C 52 20 33 2E 35 2E 33 30 - ..NET.CLR。 3.5.30 [2010 年 6 月 16 日星期三 10:34:40.107] [3796:1872] [调试] jk_ajp_common.c (934): 0380 37 32 39 3B 20 49 6E 66 6F 50 61 74 68 2E 31 29 - 729;。 InfoPath.1) [6 月 16 日星期三 10:34:40。107 2010] [3796:1872] [调试] jk_ajp_common.c (934): 0390 00 00 06 75 61 2D 63 70 75 00 00 03 78 38 36 00 - ...ua-cpu ...x86。[2010 年 6 月 16 日星期三 10:34:40.107] [3796:1872] [调试] jk_ajp_common.c (934): 03a0 00 04 75 73 65 72 00 00 09 30 30 30 33 32 35 32 - ..user... 0003252 [2010 年 6 月 16 日星期三 10:34:40.107] [3796:1872] [调试] jk_ajp_common.c (934): 03b0 30 37 00 00 06 6C 6F 63 61 6C 65 00 00 05 65 6E - 07...locale ...en [Wed Jun 16 10:34:40.107 2010] [3796:1872] [debug] jk_ajp_common.c (934): 03c0 5F 55 53 00 00 09 73 65 73 73 69 6F 6E 69 64 00 - _US。 ..会话ID。[2010 年 6 月 16 日星期三 10:34:40.107] [3796:1872] [调试] jk_ajp_common.c (934): 03d0 00 35 53 4D 53 5F 67 61 73 74 67 32 38 31 5F 64 - .5SMS_gastg281_d [Wed Jun16 10:34:40.107 2010] [3796:1872] [调试] jk_ajp_common.c (934): c (1117): 0020 4E 49 44 3D 39 35 39 41 37 30 32 38 37 45 30 33 - NID=959A70287E03 [2010 年 6 月 16 日星期三 10:34:40.373] [3796:1872] (c) [调试] jk_ajp_common. ): 0030 46 35 30 33 41 33 33 31 30 32 30 36 39 41 31 38 - F503A33102069A18 [2010 年 6 月 16 日星期三 10:34:40.373] [3796:1872] [调试] jk_ajp_common.c 3 7 7:04 046 (1) 42 35 3B 20 50 61 74 68 3D 2F 73 64 73 00 - F7B5;.路径=/sds。[2010 年 6 月 16 日星期三 10:34:40.373] [3796:1872] [调试] jk_ajp_common.c (1117): 0050 00 0C 43 6F 6E 74 65 6E 74 2D 54 79 70 65 00 00 - ..Content-Type。 . [2010 年 6 月 16 日星期三 10:34:40.373] [3796:1872] [调试] jk_ajp_common.c (1117): 0060 09 74 65 78 74 2F 68 74 6D 6C 00 00 00 00 00 00 - .text/html。 ...... 0030 46 35 30 33 41 33 33 31 30 32 30 36 39 41 31 38 - F503A33102069A18 [2010 年 6 月 16 日星期三 10:34:40.373] [3796:1872] [调试] jk_ajp_common.c (46 317) 3B 20 50 61 74 68 3D 2F 73 64 73 00 - F7B5;.路径=/sds。[2010 年 6 月 16 日星期三 10:34:40.373] [3796:1872] [调试] jk_ajp_common.c (1117): 0050 00 0C 43 6F 6E 74 65 6E 74 2D 54 79 70 65 00 00 - ..Content-Type。 . [2010 年 6 月 16 日星期三 10:34:40.373] [3796:1872] [调试] jk_ajp_common.c (1117): 0060 09 74 65 78 74 2F 68 74 6D 6C 00 00 00 00 00 00 - .text/html。 ...... 0030 46 35 30 33 41 33 33 31 30 32 30 36 39 41 31 38 - F503A33102069A18 [2010 年 6 月 16 日星期三 10:34:40.373] [3796:1872] [调试] jk_ajp_common.c (46 317) 3B 20 50 61 74 68 3D 2F 73 64 73 00 - F7B5;.路径=/sds。[2010 年 6 月 16 日星期三 10:34:40.373] [3796:1872] [调试] jk_ajp_common.c (1117): 0050 00 0C 43 6F 6E 74 65 6E 74 2D 54 79 70 65 00 00 - ..Content-Type。 . [2010 年 6 月 16 日星期三 10:34:40.373] [3796:1872] [调试] jk_ajp_common.c (1117): 0060 09 74 65 78 74 2F 68 74 6D 6C 00 00 00 00 00 00 - .text/html。 ......

[2010 年 6 月 16 日星期三 10:34:40.373] [3796:1872] [调试] jk_ajp_common.c (608): status = 200 [2010 年 6 月 16 日星期三 10:34:40.373] [3796:1872] [调试] jk_ajp_common。 c (615): 标头数 = 2

我包含了来自 ajp13 的响应,因为在我看来,这证实了我的怀疑,即 ajp13 正在切断我的 GetAccess cookie 数据。这就是我这么认为的原因。我修改了处理 cookie 数据的类以抽出 Tomcat 捕获并放入其 stdout_yyyymmdd.log 的控制台消息;该日志的片段如下,其中包括报告 cookie 数据处理:

SDSUser - SDSUser(req) - Cookie 名称:JSESSIONID Cookie 内容如下:

959A70287E03F503A33102069A18F7B5

959A70287E03F503A33102069A18F7B5

SDSUser - SDSUser(req) - Cookie 名称:AUTH_SESSION_ID Cookie 内容如下:

SMS_gastg281_d00584

SMS_gastg281_d00584

SDSUser - SDSUser(req) - Cookie 名称:GAUSERINFO Cookie 内容如下:

上面的输出显示该类首先显示所有 cookie 数据,然后是一条虚线,然后它循环遍历 cookie 中的每个项目。对于前两个,cookie 只有一个部分。但正如上面传递给 ajp13 处理器的缓冲区所示(“******”行之间的那部分),GetAccess cookie 有几个参数,由“&”分隔,每个参数使用关键字 = 值配对。此示例中的 GetAccess cookie 包含以下数据,此类处理此数据的输出应如下所示:

SDSUser - SDSUser(req) - Cookie 名称:GAUSERINFO Cookie 内容如下:

GAUSERINFO=first_name=RICHARD&last_name=CURRY&middle_initial=G&corporate_id=XXXXXXX

first_name=RICHARD last_name=CURRY middle_initial=G Corporate_id=XXXXXXX

似乎第一个参数的第一个“=”导致 ajp13 处理器停止处理 cookie,并且该信息未在到达 Tomcat 和需要该信息的应用程序的会话数据中传递。

我已经查看了 Apache Tomcat 连接器参考指南和其他相关文档,包括我找到的关于 AJPv13 连接器的文档,但没有看到与这种情况相关的任何内容。我确实在 Tomcat 用户邮件存档中发现了一条消息,其中提到了类似的问题;摘录如下:

" 来自http://mail-archives.apache.org/mod_mbox/tomcat-users/200912.mbox/%3c4B1A621C.908@apache.org%3e " cookie 值中的控制字符 2009 年 12 月 5 日 13:37:32 GMT 然后您需要担心在 cookie 值中使用 '=' 的 Base64。需要引用该值才能使其正常工作。Tomcat 会在必要时自动执行此操作。

我已经搜索了几个邮件列表(Gossamer Threads 和 Listware 等等)和其他支持站点(例如 Code Guru 和 Stack Overflow)的档案,尽管我发现了很多关于 ISAPI 重定向器的信息,但这条消息是唯一类似的以我的情况。

根据您对 ISAPI 重定向器和 AJP13 处理器如何运作的了解,这是一个有效的评估吗?在这个处理的某个地方,cookie值中的“=”导致它被切断?如果是这样,我可以在 ISAPI 重定向器或 AJP 连接器中从哪里开始我的代码搜索来解决这个问题?

感谢您的时间和考虑我的询问。如果您需要更多信息,请告诉我;我很乐意提供我能提供的。我很高兴找到解决这种情况的方法。

0 投票
1 回答
458 浏览

iis-7 - 如何更新 Http 请求并将其发送到另一个 Web 服务器

以下是我们的环境设置:

IIS 7 接收来自客户端(浏览器)的 Http (.jsp) 请求。它使用 ISAPI_Redirect.dll 将其盲目地重定向到 JBoss。

现在我们正在尝试修改此设置,以便在 IIS7/ISAPI_redirect 将其发送到 JBoss 之前,我们需要使用 Http 模块修改发布的表单数据。这个 http 模块是普通的 .net http 模块。

我们能够拦截 http 模块的请求@BeginRequest 事件,当我们将其发送到 JBoss 时,它给我们“读取客户端失败(400)”错误。

知道如何完成这项任务或解决手头的问题吗?

0 投票
2 回答
1787 浏览

apache - isapi 重定向器未正确处理 Tomcat 和 IIS 7.0 之间的重定向状态代码 302

我们最近在 Tomcat 6 下安装了一个 Web 应用程序,它通过 isapi 重定向器接口(参见http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html)连接到 IIS 7 服务器。连接器在所有情况下都能正常工作,除了 Web 应用程序中的某些页面返回状态 302,并带有要重定向的新位置。

浏览器取回 302 并请求新位置,但 IIS Web 服务器不会将请求转发到 Tomcat 服务器并返回 404 错误,即使 uri 工作人员映射看起来对我来说是正确的。

对应的 uri worker 规则是:

/WebClientServlet/*=worker1

新位置的位置 url 如下所示:

http://localhost/WebClientServlet/SBS/cmd:editContent2/workflow:false/articleSearch:false/confirmed:false/objectID:131294/---/fpse/db:test/objectID:131294/Copy+of+0001-Intranet+Home-main-ip+%28DE%29

0 投票
0 回答
253 浏览

.net-2.0 - Helicon ISAPI 重定向或 URLRewrite.net 托管代码重定向?

我们有一个当前使用URLRewrite.net的 Web 应用程序,我正在考虑将其拉出以使用Helicon 的 ISAPI rewrite 3.0。. 我们有大约 100 个不同复杂度的重定向规则,两种重定向解决方案都可以完成这项工作,但我希望为我们的站点释放托管代码资源。我特别考虑这些链接:Tess 的博客Kurt 的博客

有人对这两种产品有任何经验吗?你觉得呢?

0 投票
2 回答
1063 浏览

redirect - 如何在 ISAPI_Rewrite 中重定向页面

我使用 ISAPI_Rewrite v2并且有以下规则:

我希望每当有人输入 site.com/cnvrt 时,它都会将他重定向到 site.com/convert

上述规则的问题在于它只是放置了一个窗口,显示该页面可以在此 url 下找到:.... 而我想要的是将他重定向到该页面(该 url 会改变)

我不想在代码级别处理它。

我怎样才能做到这一点?

谢谢

0 投票
1 回答
2637 浏览

iis - 使用 isapi_redirect(tomcat 连接器)将请求从 IIS 路由到 Jetty

我已将 isapi_redirect 安装到 IIS 中,并允许运行。我在 Jetty 中启用了 ajp13,我可以远程登录到端口 8009。这是我当前的 uiworkermap.properties:

如果我向“http://localhost/hudson”或任何子目录发出请求,我会收到 404 错误。所有其他 url 返回在 IIS 中定义的站点。这告诉我 isapi_redirect 正在查看 uiworkermap 文件并尝试正确重定向。

在 Jetty 日志和 isapi_redirect 日志中,我没有看到任何错误。如果我去http://localhost:8008/hudson我看对了。你知道是什么原因造成的吗?

更新:我创建了一个名为“Jakarta”的虚拟目录,它指向 isapi_redirect dll,就像这里所说的那样:http: //tomcat.apache.org/connectors-doc/webserver_howto/iis.html 在这一步之后,错误发生了变化,现在在浏览器中我看到:

在错误日志中(在调试模式下)我可以看到它首先连接并发出请求,但码头没有响应,并且生成了此错误:

[错误] ajp_get_reply::jk_ajp_common.c (2118): (jetty) Tomcat 已关闭或拒绝连接。尚未向客户端发送响应(尚未)

这是带有请求和错误的日志部分: https ://rapidshare.com/files/3999719393/isapi_redirect_log.txt

0 投票
1 回答
1022 浏览

iis - 有人可以告诉我如何在以下 IIS-Tomcat isapiredirect(2.0) 配置中路由请求吗?

我有以下设置:

1.Tomcat服务器.xml

2.worker.properties

3. IIS

我的初始访客是“端口 HTTP80->HTTP8009->HTTPS8443”“端口 HTTP8080->HTTP8443”

0 投票
0 回答
610 浏览

tomcat6 - Apache Tomcat 6.0 IIS 5.1 isapi 重定向器错误“不支持该请求。”

很多天以来我都面临这个问题,再次刮擦每段代码,但无法纠正它......

我已经在 Windows XP-Service Pack 3 上安装了 Apache Tomcat 6.0 并启用了 IIS 5.1。

Tomcat 运行在 8080 端口,iis 运行在 80 端口。

我有使用 IIS 的 SMTP 服务的 struts 应用程序...

我保存在 [TOMCAT]/conf/ 中的 WORKER.PROPERTIES 如下

URIWORKERMAP.PROPERTIES 如下

我已经在 regedit 中进行了更改。REGISTRY EDITORS 的屏幕截图如下。

在此处输入图像描述 我已将 isapi_redirector 放在 /bin 目录中。

添加了一个指向 /bin 并命名为 jakarta 的虚拟目录。

添加了 isapi 过滤器,它按照以下附件显示...ISAPI 过滤器快照

当我http://localhost:8080/examples/在浏览器中输入时,我会得到结果。

但是当我输入时,http://localhost/examples/我收到一个错误“不支持该请求”。

我不知道如何追踪。

0 投票
2 回答
2592 浏览

.htaccess - 如何在 helicon 上重定向 url

我刚刚进入 helicon ,如果这是一个基本问题,请原谅我。我的 asp.net 网站包含下面的固定 url。想要将此固定 url 重定向到我定义的固定 url。

在我的 asp.net 网站中,我使用 helicon 重定向 url,我需要 helicon ISAPI_Rewrite 配置文件的帮助,我需要一个重定向我的规则的规则。当只有我的基本 url 出现时,我希望 helicon 将此 url 重定向到上面的重定向 URL 页面。

如果有任何疑问请询问,在此先感谢。

0 投票
1 回答
1233 浏览

iis-6 - 在 IIS6 上使用 Helicon ISAPI Rewrite v3 Lite

任何人都可以帮助我如何配置 IIS 6 以使用 ISAPI Rewrite v3 Lite。我已经安装了它,并且尝试使用 Host 作为我的网站的示例重写,并且我还将 .dll 添加到 ISAPI 过滤器中,但我的网站不会正确重定向。

谢谢