问题标签 [mod-proxy-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.
tomcat - jsf 资源通过 ajp 连接器错误解析
我在 JSF2 中有应用程序(使用 Primefaces)。我使用 将 url 解析为资源h:outputStylesheet
,因此指向我的 css 的链接如下所示:
当我在服务器上的 tomcat 上部署项目时,一切正常。当我将 url 放入浏览器时,我可以看到我的 css 文件:
当然,我也可以使用直接 url 访问它来访问资源,例如:
当我将 apache 配置为将端口 80 上的请求转发到 tomcat 时,问题就开始了。我尝试了两种方法:
- ajp 与 mod_jk
- ajp 与 mod_proxy
两种配置在作为 jsf 资源访问时都会生成无效的 css 文件。当我放:
我收到以下错误消息:
但是,我的 css 文件的直接 url 仍然有效:
我的问题是:我在 ajp 配置中错过了什么?
这是配置:
ajp 工人:
使用 JK 的 ajp 连接:
使用代理的替代 ajp 连接:
Tomcat服务器.xml
我用:
- 雄猫 7
- 爪哇 8
- Primefaces 4.0
apache - AJP 不适用于服务器别名
我有一个应用程序,它使用 mod_proxy_ajp 配置了 apache 和 tomcat 我们在 httpd.conf 中对其进行了如下配置:
进入 httpd-proxy.conf 以下是代理配置:
在 tomcat 的 server.xml 文件中,我们配置了 AJP 连接器,如下所示:
现在,当我使用主机名和 ip 地址访问我的机器时,请求工作正常并显示 Login.jsp。但是,如果我在服务器和客户端(从运行浏览器的位置)上的主机文件中添加一个条目,并为原始服务器名称添加一些别名,如下所示,则它不起作用。
当我以http://alias1发出请求但页面没有出现时,请求被重定向到 Login.jsp。在浏览器中,我可以看到网址为http://alias1/jsp/Login.jsp但页面没有出现。在 apache ajp 日志中,我可以看到响应代码是 200。所以不确定问题到底出在哪里,有人可以帮我吗
java - 在 Tamcat+Apache 上使用 mod_proxy_ajp 作为 Java 门户
我有一个在 Tomcat 上运行的 java 门户,但我希望它的静态内容(除了 html)由 Apache httpd 提供服务。所以我已经安装了一个 Apache httpd,现在我正在配置 httpd.conf 我知道我需要类似下面的文本:
但这是一个示例,我不知道如何在ProxyPassMatch前面使用 RegEx来实现我的目的。
我的目的是通过 Apache httpd为jpg、jpeg、gif、js、css和其他由 Tomcat 服务
apache - 如何在 apache HTTP Server 中为 mod_proxy_ajp 覆盖方案和 is_ssl
我们在一个负载均衡器后面运行 Tomcat 7,该负载均衡器也可以作为 SSL 终结器,以及一个 Apache HTTP Server 2.4。Apache 通过mod_proxy_ajp连接到 Tomcat 。
对于应用程序,重要的是 Tomcat 知道请求是通过 HTTPS 进入的,因此是安全的。正如本文所建议的那样,通常在 Tomcat 的连接器上使用属性secure="true"
和可能的scheme="https" proxyPort="443"
. 虽然这可行,但由于我们也将 HTTP 用于某些目的,因此很不方便,因此我们需要为此目的设置两个 Tomcat 连接器。而且它有一种味道,因为这种方式基本上是告诉 Tomcat 覆盖它从 Apache HTTP 服务器获得的错误信息,即请求是 HTTPS 而不是 HTTP,而不是告诉 Apache 它应该发送有关协议和的正确信息安全状态。
所以我的问题是:是否有可能以某种方式配置 Apache HTTP 服务器本身,使其通过 AJP 协议传递正确的信息:请求是通过 HTTPS 接收的并且是安全的?问题是它不知道它是 HTTPS,因为它之前有一个 SSL 终止符,并且就它而言,请求是通过 HTTP 到达的。我可以以某种方式告诉 Apache 它实际上是 HTTPS 吗?
apache - Bitnami Tomcat 堆栈连接超时
在 AWS 下使用 bitnami tomcat stack(Apache + Tomcat)。直到现在一切都很完美。Webapps 中的一项新功能需要超过 2 分钟的等待时间才能完成。但在执行停止之前,Apache 发送 HTTP-500 错误。检查tomcat控制台时,它同时显示以下错误。
» 2016 年 5 月 19 日 16:13:27.370 Thu May 19 16:13:27 +0530 2016,(FrameworkServlet.java:984)调试:无法完成请求,ClientAbortException:java.net.SocketException:org.apache 的管道损坏。 catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:413) 在 org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480) 在 org.apache.tomcat.util.buf.ByteChunk.append( ByteChunk.java:366) 在 org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:438) 在 org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:426) 在 org.apache.catalina .connector.CoyoteOutputStream.write(CoyoteOutputStream.java:91)
在尝试多个示例请求时,发现在等待 60 秒后正好收到 HTTP-500。
Tomcat 服务器.xml
Tomcat.conf
检查 linux 的 Timeout 框,发现是 2hrs。它可能是 Apache 或 Apache-Tomcat 连接器超时问题。bitnami 堆栈中的这些配置在哪里进行更改。
apache - Accessing AJP request data from a GWT servlet
I'm trying to create a GWT application that implements Shibboleth-based authorization. Because eventually it should be served in "production mode", I chose to run the application using Tomcat7, however the client connects to Apache2 which then forwards the request to Tomcat via AJP (using mod_proxy_ajp
).
The basic task, serving the application, works. However, I need to have access to the environment variables set by Shibboleth somehow. According to the Shibboleth documentation, environment variables will be forwarded to Tomcat if they are prefixed by AJP_
(the prefix is then dropped), so I went ahead and configured Shibboleth in such a manner that it adds that prefix to all the environment variables it sets (this works, as I have confirmed using a PHP script that simply prints all the environment variables).
The trouble is that the environment variables aren't available as environment variables anymore when they reach Tomcat but are rather supposed to be served -- as the mod_proxy_ajp
documentation phrases it -- as AJP request attributes.
Apparently, those kinds of attributes are supposed to be accessed using something like
from within the servlet. Even though my PHP script lists an environment variable called AJP_uid
however, the call above returns null
while from what I understand it should return the same value that the environment variable AJP_uid
has.
To be sure, I also tried the call above with AJP_uid
instead of uid
in case the prefix wasn't dropped for some reason, but with no luck.
What am I doing wrong?
apache - 使用 Apache 作为代理将 shibboleth sp 属性传递给 Jetty 上的应用程序
我有一些在 Jetty 嵌入式上运行的 Spring Boot 应用程序。我在 Apache 服务器上运行了 Shibboleth SP。
我可以通过 AJP 将断言属性传递给 Tomcat,但是,由于 Jetty9 不再支持 AJP,我不能这样做。
我想知道如何配置 Apache,因此可以将断言属性传递给在 Jetty 上运行的应用程序。
apache - 使用 Apache 负载均衡器无法为 liferay 7 加载 CSS、JS 和其他静态内容
我正在使用 Liferay 7.0 GA3 版本并使用 Apache 2.4 作为反向代理。两台服务器都安装在 Windows 2012 R2 上,并且在加载 liferay 主页时遇到问题,其中所有 JS、CSS 和其他静态组件都没有显示,而是出现 HTTP 500 错误。
Apache config - (负载平衡在两个不同 VM 上运行的两个 Liferay 服务器)
httpd.conf -
httpd-ssl.conf -
已更改两台服务器上的 tomcat server.xml -
我在浏览器上遇到以下错误-
Apache 错误日志 -
如果我尝试将其中一个失败的 Apache URL 直接访问到另一个浏览器窗口,我会收到 HTTP 500 错误,并带有以下响应标头 -
请求网址:https ://my.server.com/o/mentions-web/css/mentions.css
响应标头
如果我尝试使用连接到 Tomcat 的相同 URL(因此绕过 Apache),那么我将获得 HTTP 200 并带有以下响应标头 -
请求网址:http ://my.server.com:8080/o/mentions-web/css/mentions.css
响应标头
需要注意的一件事是,如果我删除负载平衡配置并尝试将一个 apache 实例连接到一个 liferay 服务器,那么一切正常。
所以看起来像apache方面的一些配置问题?请帮忙。
apache - 如何使用 glassfish 服务器修复 'AH00992: ajp_read_header: ajp_ilink_receive failed' apache 代理错误?
Apache 服务器被配置为 Glassfish 服务器的代理。在 Glassfish 服务器上部署了 Vaadin 应用程序。应用程序加载失败并出现 CSS。Apache 配置或 Glassfish 应用程序/配置有问题吗?
该系统使用 Apache 2.4 和 Glassfish 5 进行配置。该应用程序使用 Vaadin 6.8 构建,Glassfih 已经配置了 ajp 连接器。
虚拟主机配置:
Apache error_log 显示以下错误:
并且应用程序显示一条消息,它无法加载 javascript 资源(js.nocache Vaadin artefact)。
apache - Apache mod_proxy_ajp 模块过早地将流量发送到备用后端服务器
我们有一对 Apache 2.4 Web 服务器 ( web02
, web03
) 正在mod_proxy_ajp
与一对 Tomcat 7.0.59 服务器 ( app02
, app03
) 通信。
Tomcat 服务器是备用服务器,除非完全脱机app03
,否则不应获取流量。app02
web02 和 web03 上的 Apache 配置:
app02 和 app03 上 AJP 的 Tomcat 配置:
我们看到 Apache 开始向其发送流量的问题,app03
即使app02
仍然可用但可能有点忙,这些流量仍被标记为备用。
Apache SSL 错误日志:
我们的 Apache 日志中有数百条这样的消息。
app02
除非完全脱机,否则有关使 Apache 坚持使用的设置的任何建议?