问题标签 [ajp]

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

apache - 为 mod_proxy_ajp 重写经过身份验证的 Apache2.2 用户

mod_proxy_ajp我有一个通过Apache2.2 实例连接的 Tomcat 。Apache 通过 进行身份验证mod_auth_kerb,而 Tomcat 用于request.getRemoteUser()获取经过身份验证的用户。

这基本上有效,但我想重写用户。但是,我设置的任何标题都不会影响返回的内容request.getRemoteUser(),我只将它们视为附加标题,我该怎么办?

谢谢!

0 投票
1 回答
1612 浏览

tomcat6 - Tomcat 6 AJP 是否应该使用 mod_jk 将其线程保持在 keepalive 状态?

我最近将我的 Tomcat 服务器切换为使用 Apache 支持的 AJP。在我看到的经理中:

这是Tomcat保持连接打开太远太长的标志吗?

我知道我有某种形式的泄漏,因为我的应用程序会定期用完数据库连接并停止。我正在寻找证据证明上述行为是该问题的一部分。我会注意到,这是在 Jquery 中使用 REST 的 Javascript 向上通信。

提前非常感谢。

ServerFault交叉发布,因为我在那里看不到任何东西。:-(

0 投票
1 回答
4172 浏览

tomcat - Spring Security 和 AJP 代理

我将 Spring Security 和 Apache 代理用于 Web 应用程序。使用标准 mod_proxy 时一切正常,但切换到 AJP 代理后,Spring 安全重定向出现问题。

阿帕奇配置:

当我调用http://domain.com/login时,我会看到一个登录表单。

当我提交表单时,我会转到http://domain.com/auth并获得身份验证。

然后 Spring Security 应该重定向到http://domain.com/index但它会重定向到http://domain.com/Context/index

我怎样才能摆脱那个上下文路径?为什么 Spring Security 到处添加它?

Spring Security 网站上有一个类似的问题,但没有人回答:

http://forum.springsource.org/showthread.php?95141-Why-is-spring-security-including-the-context-path

PS 谷歌没有找到与这个问题更相关的东西,这似乎很奇怪。我是唯一一个使用 Spring Security + AJP 的人吗?也许这是一个错误的模式?

解决方案:

0 投票
1 回答
104 浏览

http - 由于 proxy_ajp 导致的 JS 错误

我们有一个使用 apache 2.2.16 在 tomcat6 上运行的应用程序,并且我们在端口 80 上启用了 proxy_ajp,该端口通过 ajp 模块进行路由。我们还在端口 9090 上有一个 HTTP 连接器。

使用端口 9090 访问应用程序可以正常工作。当我们使用 80 端口访问时,我们开始在应用程序的不同页面上收到 JS 错误。

谁能指出这些 JS 错误的可能原因是什么?它与proxy_ajp有关吗?如果是,我们该如何解决?

任何帮助将不胜感激!

0 投票
2 回答
34571 浏览

tomcat - AJP 1.3 连接器在全局侦听端口 8009,为什么以及如何关闭它?

我用 Apache 2 和 mod_proxy 设置了 Tomcat 6。现在我的 server.xml 中有这个默认值:

netstat 看起来像这样:

我现在的问题是,AJP 是否有必要在全球范围内监听 8009 端口,我不这么认为?!以及如何关闭它?

0 投票
1 回答
26060 浏览

http - 使用 AJP / Tomcat 6.0 设置最大 HTTP 标头大小

如果您不使用 AJP,Tomcat 6.0 连接器maxHttpHeaderSizeserver.xml. 但是,如果您使用的是 AJP,则无法理解该属性。如果您正在编写使用 AJP 的应用程序,有没有办法增加允许的 HTTP 标头大小?

maxHttpHeaderSize记录在http://tomcat.apache.org/tomcat-6.0-doc/config/http.html但该文档中也有:“如果您希望配置用于连接到 Web 服务器的连接器使用 AJP 协议(​​例如 Apache 1.3 的 mod_jk 1.2.x 连接器),请参见此处。”“此处”链接指向http://tomcat.apache.org/tomcat-6.0-doc/config/ajp。 html wheremaxHttpHeaderSize从属性列表中省略。)

0 投票
1 回答
925 浏览

java - 使用 AJP 执行从 Python 到 Java 网络服务器的请求

我必须实现一个 Python Web 应用程序,该应用程序对通过 Web 服务(带有 GET 请求和 JSON 响应的 API)可用的数据进行操作。

API 服务器是用 Java 实现的。如果通过 urllib2 进行 API 调用(每个请求打开和关闭连接),初步测试显示开销很大。

如果我在 API 服务器中启用 AJP,我应该使用哪个库来使用 Python 中的 AJP 协议执行请求?我用谷歌搜索了 Plup,但我找不到在 Python 中请求和使用数据的明确方法,而不仅仅是在其他地方代理它。

使用 AJP 是一个好的解决方案吗?显然我必须维护一个连接池来执行 AJP 请求,但是我在 Plup 中找不到任何相关的东西。

谢谢你。

0 投票
4 回答
61386 浏览

java - 如何监视/记录 Tomcat 的线程池?

我有一个 Tomcat 安装,我怀疑由于线程未正确释放,线程池可能会随着时间的推移而减少。当达到 maxthreads 时,我在 catalina.out 中收到一个错误,但我想每五分钟将正在使用的线程数记录到一个文件中,以便我可以验证这个假设。任何人都可以建议如何做到这一点?

同样在此安装中没有 Tomcat 管理器,似乎进行原始安装的人出于某种原因删除了管理器 webapp。我不确定经理是否能够执行上述操作,或者我是否可以在不损坏现有安装的情况下重新安装它?我真正想做的就是跟踪线程池。

另外,我注意到 Tomcat 的最大线程数为 200,但 Apache 的最大并发连接数较低(Apache 使用 mod_proxy 和 mod_proxy_ajp (AJP 1.3) 来提供 Tomcat)。这似乎也是错误的,这些数字之间的正确关系是什么?

非常感谢任何帮助:D

更新:只是快速更新说直接 JMX 访问有效。但是我还必须设置 Dcom.sun.management.jmxremote.host。我将它设置为 localhost 并且它可以工作,但是没有它就没有骰子。如果其他人在尝试启用 JMX 时遇到类似问题,我建议您也设置此值,即使您是从本地计算机连接。似乎某些版本的Tomcat需要它。


只是快速更新说直接 JMX 访问有效。但是我还必须设置 Dcom.sun.management.jmxremote.host。我将它设置为 localhost 并且它可以工作,但是没有它就没有骰子。如果其他人在尝试启用 JMX 时遇到类似问题,我建议您也设置此值,即使您是从本地计算机连接。似乎某些版本的Tomcat需要它。

0 投票
0 回答
6948 浏览

java - 具有多个 web 应用程序的 tomcat ajp 连接器

我有一个 tomcat 服务器,带有一个 webapps/ROOT 应用程序,前面是 Apache。

我需要在此框中添加第二个 webapp,因此我将其解压缩到 webapps/pib.war/ 并更改了 Apache conf:

我的 tomcat/conf/server.xml 包含:

我只有一个 context.xml 文件 - webapps 下没有 - 在 conf/context.xml

当我访问https://myserver/时,现有的默认 ROOT 应用程序正常工作,但https://myserver/pib/在 catalina.out 中给出:

intertubes 建议的意思是我正在与 AJP 连接器而不是 AJP 交谈 HTTP,但第一个 web 应用程序工作正常。

我错过了什么?我在每个 webapp 下都看到过 context.xml 文件的提及,但我不确定它们的用途或放入其中的内容。

我通常不使用 AJP,但是这个盒子已经在这样工作了,所以我现在有点迷茫。

谢谢,

0 投票
2 回答
7350 浏览

apache - 辅助 ajp 工作者不在 apache 和 tomcat 之间工作

我已经工作了几个月,但今天我有一个电源循环,有些东西坏了。抱歉,这有点详细和具体,但我迫切需要帮助。

我有 apache-2.2 和两个 tomcat-6 服务器(只是从两个单独的文件夹运行)。我没有任何 http 连接器,但我在每台服务器上的端口 8009 和 8010 上运行一个 ajp 连接器。启动时,两个 tomcat 都报告连接器正在运行,似乎没有任何问题:

我有理由确定我的工作人员和 apache 配置设置正确。我可以很好地到达 8009 上的连接器,完全没有问题,但是当我尝试 8010 时,apache 给了我一个 503。检查日志(mod_jk.log)它说:

但我无法理解的是,如果我对该端口进行简单的 telnet 并发送 GET:

它击中了正确的tomcat(错误是预期的):

那么为什么 apache 达不到呢?无论我是否是超级用户,telnet 都可以使用。会发生什么?我完全被难住了。

而且我已经尝试重新启动 apache 和 tomcat 并且没有任何变化。谢谢参观。

EDIT-1:对此进行快速更新...我添加了一个 http 连接器,它工作正常,但 ajp 连接器仍然失败。

EDIT-2:这是每个请求的配置详细信息...

工人属性:

httpd.conf(我看到 jkmount 和 JkMount ......大写重要吗?):

服务 1 的 server.xml:

服务 2 的 server.xml:

我想就是这样。