问题标签 [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.
apache - ProxyPass, ProxyReverse vs AJP
I currently have a Tomcat + Apache HTTP server setting to serve my Java servlet:
This is all fine except that myservice
needs to know the client IP address, which always turns out to be 127.0.0.1 due to the proxy. Is there a solution to get the real IP address? Is AJP an option?
jboss - 原因是什么以及如何在 Apache error_log 中修复 503 错误:“Broken pipe: ajp_ilink_send(): send failed”
我在 JBoss 上运行的 servlet 出现间歇性问题,Apache 通过 mod_proxy_ajp.so 转发所有请求。
有时,对于 REST 请求,我从 Apache 收到 503 错误。发生这种情况时,Apache error_log 中有以下内容:
经过几次失败的尝试后,它又开始工作了。
我用谷歌搜索了一些,发现我不是唯一遇到这个问题的人。我找到的唯一解决方案是确保在 JBoss 之后启动 Apache(我在重新启动 JBoss 后重新启动 Apache)。
这个问题的奇怪之处在于这个 JBoss 中运行了其他 servlet,而我在那里没有问题。
servlet 基于 CXF JAX-RS。
阿帕奇是 2.2.6。
ajp - AJP 是否足够安全?
我们需要在我们的托管服务中托管一个 java Richfaces/hibernate 应用程序。作为我们安全部门的要求,我们不能将该应用程序与我们的内部数据库建立任何连接。一个建议的解决方案是创建一个内部 Web 服务,但是更改所有数据库层是困难的。我想改用 AJP。是否足够安全?
[编辑] 通过问这个我的意思是 apache httpd 将服务于 https 并且通过包装 AJP 进入我们的内部服务器可以监控通道(明文)?我没有找到协议本身的文档。
apache - Apache Webserver 和 JBoss AJP 与 https 的连接
我们正在托管一个在 JBoss 上运行的 Java EE 应用程序。出于安全原因,这个应该在 Internet 上可用的应用程序受到前端 Apache 服务器的保护。我们正在使用 AJP 来启用它。
当我们通过 http 访问应用程序时,这可以正常工作。当我们尝试使用 https 执行此操作时,它不起作用,我们在访问 Java EE 应用程序时收到 404 错误。我们已将 SSL 证书放置在 Apache 服务器中。
tomcat - 如何在 Tomcat 中设置 AJP 数据包大小?
我已按照此处的说明在 AJP 中设置 maxPacketSize ...
它在文档中声明我需要“您还必须在 Tomcat 端更改 AJP 连接器的 packetSize 属性!属性 packetSize 仅在 Tomcat 5.5.20+ 和 6.0.2+ 中可用。”
我不知道如何改变它!
该文档谈到在 Tomcat 中更改它,但我找不到我实际需要更改它的位置(哪些属性文件/配置文件等)
任何人都可以给我一个线索吗?
谢谢!
apache - apache代理到tomcat保持活力混乱
我在 tomcat 6 服务器前面有一个 apache 2.2 服务器。在 apache 上使用 mod_proxy_ajp 代理对 tomcat 的请求。相当标准的设置。
如果我需要禁用浏览器的保持连接,我该怎么做?
我需要禁用 keep-alive http 请求,因为我怀疑我的一些用户的防火墙可能会丢弃非活动的 keep-alive 连接,这会随机导致问题。
在 apache 和 tomcat 上都有各种“保持活力”的配置。
httpd.conf 有“KeepAlive Off”(在我的情况下似乎没有什么不同)
同样在您设置 ProxyPass 的 httpd.conf 中,您可以有一个参数“keepalive”,但这仅在我的 apache 和 tomcat 之间存在代理/防火墙时才有用,在我的情况下没有代理/防火墙,这不是问题.
Tomcat 本身,http 连接器具有“keepAliveTimeout”和“maxKeepAliveRequests”,但这仅适用于 http 连接器。
tomcat ajp 连接器也有一个“keepAliveTimeout”,但这是针对来自 apache 的 ajp 请求,不确定这是否应该/流向从浏览器到 apache 的真实 HTTP 请求。
最重要的是,还有 HTTP1.0 与 HTTP1.1 的区别。
所以它变得混乱......有人可以解释一下吗?
apache - 如何说服 mod_proxy_ajp 将环境变量传递到其后端?
我正在尝试将 Apachemod_proxy
与AJP
后端和 ajp-wsgi 应用程序服务器一起使用,但它似乎没有将SetEnv
变量发送到应用程序服务器。
配置片段:
如何将环境变量从 Apache 配置传递到我的应用服务器?
java - Apache 和 JBOSS 使用 AJP (mod_jk) 在线程数中产生峰值
我们使用 Apache 和 JBOSS 来托管我们的应用程序,但我们发现了一些与 mod_jk 的线程处理相关的问题。
我们的网站属于低流量网站,在我们网站的活动高峰期最多有 200-300 个并发用户。随着流量的增长(不是并发用户,而是到达我们服务器的累积请求),服务器停止服务请求很长时间,虽然它没有崩溃,但直到 20 分钟才能处理请求。JBOSS 服务器控制台显示两台服务器上都有 350 个线程忙,尽管有足够的可用内存,例如超过 1-1.5 GB(使用了 2 个 64 位的 JBOSS 服务器,为 JBOSS 分配了 4 GB RAM)
为了检查问题,我们使用了 JBOSS 和 Apache Web 控制台,我们看到线程在 S 状态下显示的时间长达几分钟,尽管我们的页面需要大约 4-5 秒才能提供服务。
我们进行了线程转储,发现线程大多处于 WAITING 状态,这意味着它们正在无限期地等待。这些线程不是我们的应用程序类,而是 AJP 8009 端口。
有人可以帮助我吗,因为其他人也可能遇到这个问题并以某种方式解决了它。如果需要更多信息,请告诉我。
mod_proxy 也比使用 mod_jk 更好,或者如果我切换到 mod__proxy,mod_proxy 还有一些其他问题对我来说可能是致命的?
我使用的版本如下:
谢谢您的帮助。
伙计们!!!!我们终于找到了上述配置的解决方法。它是 APR 的使用,在这里提到:http: //community.jboss.org/thread/153737。许多人在下面的答案中正确提到了它的问题,即连接器问题。早些时候,我们通过配置休眠和增加响应时间来临时解决问题。完整的修复是 APR。
java - 确定 Tomcat 中数百个 AJP 线程的原因
我们有两台以 Apache 为前端的 Tomcat 6.0.20 服务器,两者之间使用 AJP 进行通信。Tomcat 反过来使用 JBoss 集群上的 Web 服务。
今天早上,其中一台 Tomcat 机器在我们机器的 8 个内核中的 6 个上使用了 100% 的 CPU。我们使用 JConsole 进行堆转储,然后尝试连接 JVisualVM 以获取配置文件以查看占用所有 CPU 的原因,但这导致 Tomcat 崩溃。至少我们有堆转储!
我已将堆转储加载到 Eclipse MAT 中,在那里我发现我们有 565 个 java.lang.Thread 实例。其中一些显然是完全合法的,但绝大多数被命名为“ajp-6009-XXX”,其中 XXX 是一个数字。
我非常了解 Eclipse MAT 的使用方式,但无法找到解释。如果有人对为什么 Tomcat 可能会这样做有一些指示,或者有一些关于找出为什么使用 Eclipse MAT 的提示,那将不胜感激!
apache - 将内部 servlet 名称映射到不同的外部名称的 AJP 代理
使用 apache2 我想为 Tomcat 服务器设置一个 AJP 代理,它将内部 servlet URL 映射到外部完全不同的 URL。目前我正在使用以下配置:
Apache2 配置:
注意external_name
和servlet_name
是不同的。
Tomcat 6 配置:
然而,这不起作用。Apache 似乎将 http 请求转发到 Tomcat。但是 Tomcat 返回的 URL 和重定向仍然使用原始的servlet_name
,Apache 没有将它们映射到external_name
.
这对 AJP 有可能吗?如果不能,可以使用普通的 http 代理来代替吗?