问题标签 [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 - 使用 ajp 协议连接到备用备用主机别名
我通过 ajp 协议连接到两个 tomcat 应用程序。两者都作为 ROOT.war 在单独的 tomcat 虚拟主机中运行。在服务器上,我已经配置了 /etc/hosts 文件
阿帕奇httpd.conf:
雄猫:
我将应用程序部署为: app1 -- $CATALINA_HOME/tcvh1/ROOT.war app2 -- $CATALINA_HOME/tcvh2/ROOT.war
现在,如果我将 tomcat 更改为在端口 8080 上运行,并将代理通行证更改为连接到http://tcvh1:8080,那么它可以工作。但是如果我使用 AJP 的配置,它就不起作用。
为什么我的主机别名不适用于 AJP?有没有办法让它工作?
java - 通过 AJP 的 Tomcat 7 Websockects 不工作。有什么建议么?
如果将您的协议设置为 AjpNioProtocol,有谁知道 Tomcat 版本 7.0.27 AJP 连接器是否可以支持 http 升级(websockets)。 http://tomcat.apache.org/tomcat-7.0-doc/config/ajp.html#Connector_Comparison
我正在使用气氛,但即使有基本的套接字请求,客户端 websocket 也会关闭。Atmo 错误:连接关闭,没有发送关闭帧。
java - 通过 AJP 在 Tomcat 下的 Servlet 中忽略刷新输出流
假设我有一个 Java Servlet 需要一段时间来完成计算它的响应,但我希望客户端看到中间响应而不是等待它完成。例如,假设我有以下 doGet 代码:
当我在本地运行 Tomcat 并访问 Servlet 时,我可以看到整个计算完成<h1>
之前的情况。
但是,当我在我的服务器上运行它并通过 Apache 访问它时,我只会在整个请求完成后得到响应(换句话说,我得到一个空白屏幕,而不是<h1>
我期望收到的屏幕)。
我怀疑问题出在 AJP 或 Apache 中,似乎它忽略了对 的调用flush()
,但我似乎无法找到问题所在。
在服务器上,我使用的是 Tomcat 6、Apache 2.2.21 和 AJP 1.3
tomcat - 同一台服务器上的多个 tomcat ...ajp 停止工作
我有一种情况,我在 Windows 的同一台服务器上安装了多个 Tomcat。每个 Tomcat 都有自己的端口。第一个监听 8080 ajp 8009,第二个监听 8081 ajp 8010。
我的问题是:从端口 8080 到 8086 运行 7 个 tomcat 工作正常,但前 3 个 (8009,8010,8011) 的 ajp 停止工作(如果每个 Tomcat 单独运行,它们工作)。似乎最多可以运行 4 个 ajp 侦听器。怎么会这样?任何人都可以帮忙吗?
apache - 使用 mod_proxy_ajp 连接 Apache 和 Tomcat 有效,但 JDBC 失败
我在 Debian Squeeze 上有一个工作的 Apache 2.2.16,它使用不同的域(例如 phpApp1.com、phpApp2.com)为 /var/www/ 中的一些 PHP 应用程序提供服务。
我还有一个工作的 Tomcat 7.x,它位于 /opt/tomcat/ 中,并为一个位于 /opt/tomcat/webapps/MyApp/ 中的 JSF+JPA 应用程序提供服务。
所以 MyApp 可以通过例如 myapp.com:8080/MyApp/home.html 或 phpApp1.com:8080/MyApp/home.html 访问(因为端口)。由于我希望将其改为 myapp.com/home.html,因此我使用以下配置文件使用 mod_proxy_ajp 连接了 Apache 和 Tomcat:
/etc/apache2/sites-available/MyApp 中的 Apache 虚拟主机
和 /opt/tomcat/conf/server.xml 中的 Tomcat 虚拟主机
这使得我无法访问http://myapp.com/home.html并获得正确的 html 页面,包括 css、图像和 js。所以tomcat中的AJP连接器应该可以工作。
但是该应用程序无法建立正常工作的 JDBC 连接。不管我是使用 myapp.com 还是 myapp.com:8080,它都会失败。但是,如果我通过http://phpapp1.com:8080/MyApp/home.html访问我的应用程序,它会起作用。只有当我使用代理域“myapp.com”时它才会失败。
有没有人在使用 AJP 和 JDBC 时遇到过类似的问题?我该如何解决这个问题?我在使用 mod_jk 时遇到了同样的问题,它也使用了 AJP。提前致谢。
更新 1
@Mark Rotteveel:“直接连接”是什么意思?我的意思是,如果我使用未在 tomcats server.xml 中列为虚拟主机的域之一,则 JDBC 连接正在工作。
这是连接错误:
从 Database.java:
MyApp/META-INF/context.xml
来自 WEB-INF/web.xml
最后是 WEB-INF/classes/META-INF/persistence.xml:
apache2 - Apache 停止响应 SSL + mod_jk
在负载下,我们的 Apache2 实例有时似乎停止响应 SSL 请求。
我们有一个运行 Apache 2.2 w/OpenSSL 的 Windows Server 2003。它配置了 mod_jk 连接器版本 1.2.32,它平衡了 Tomcat 6 的两个实例。
Apache2 被配置为接受 :80 上的请求并使用 mod_rewrite 重定向到 :443,效果很好。(这在以后很重要)
我们有一个外部进程,它经常调用通过 mod_jk 映射的 URL。该进程配置不当,最初将其请求发送到 http (:80),然后被重定向到 https (:443),导致服务器受到双重打击。这意味着 access.log 将显示两个请求,一个具有 302 状态(从 :80 请求重定向),然后是 200 状态(来自 :443 请求)。
最终,access.log 不再显示随后的“status 200”消息,仅显示 302(重定向)。通过浏览器访问 https URL 也确认 Apache 没有响应。我们的 Monitis 警报说:“严重 - 无法建立 SSL 连接”。此外,我们的 mod_jk.log 在失败时停止记录请求。需要注意的是,Apache 在 ssl 请求失败的同时继续回复所有 http 请求并发送 302 重定向。
通过http直接访问两个tomcat实例中的每一个都成功,没有任何问题。
我们重新启动了 Apache2 服务,它立即解决了问题,一切又开始正常运行。
这个谜题中有很多活动的部分,我不确定罪魁祸首。我怀疑 SSL 可能存在问题,尽管当时我没有通过 SSL 测试非 tomcat URL。它也可能与 mod_jk 相关。谢谢阅读。
apache - 如何监控 apache 负载均衡器节点
我有 apache 负载平衡器通过 tomcat 服务器 ajp 进行负载平衡,如下所示:
有时状态会导致错误,有没有办法可以持续监控并在发生时收到电子邮件通知?
grails - Grails 2.1.0 app tomcat 7.0.22 重定向后会话为空
我只是在学习 grails,当我在 Netbeans 中运行一个应用程序时,它运行良好,但在部署到 Centos 5.4 服务器上的 Tomcat 7.0.22 时显示奇怪的行为。我正在使用 proxy_ajp 使该应用程序可与 apache 一起使用。
问题似乎在于重定向后会话未得到维护,因此我丢失了登录信息,导致应用程序再次尝试登录。
我的 proxy_ajp 设置是
该应用程序正在部署且没有错误,并且与数据库和 LDAP 的连接正常。我通过按如下方式登录身份验证方法对此进行了测试
UserController - 认证功能
BookController - 身份验证功能(检查是否登录)
日志显示
session.user 变量已经消失。我检查了密码哈希,它与 LDAP 服务器正确匹配(因此匹配中的对象引用)。此用户在其获得其角色的数据库中正确找到。
我无法直接访问该应用程序,避免使用 apache ajp,因为该端口在防火墙中被阻止并且我无法打开它。因此我无法测试问题是否出在 ajp 或 tomcat 中
我已尝试搜索指定为标题的条件,但没有发现任何相关内容。
a) 浏览器 cookie 已启用并正常工作,我尝试了 Safari、Firefox 和 Chrome,但均未成功。我不认为这是浏览器问题,因为相同的浏览器可以在 NetBeans 中使用该应用程序(我认为使用码头)
b) 我已设置grails.serverURL = "http://servername/PreyerBooks"
为完全限定域
如果我关闭身份验证,该应用程序将起作用。
我一定是做错了什么,或者错过了部署中的一个步骤。
现在我知道我可以使用 Spring Core 包含一个插件,但这对我的应用程序来说太过分了,并且进一步增加了调试的复杂性。我希望在继续之前让当前的实现工作。该逻辑是从 Grails 2.1.0 文档中复制的,因此它应该可以工作。
我在httpSession中读到,事情必须是可序列化的,但是如果文档中的示例不起作用,为什么当我在 NetBeans 中运行该应用程序时它会起作用?
我很茫然。任何帮助将非常感激。
glassfish - Glassfish、Apache (AJP) 和 Internet Explorer
我们有一个 Glassfish 应用程序在端口 8080 上运行。
该应用程序位于使用 AJP 配置的 Apache httpd 服务器后面:
使用 Safari、Firefox 或 Opera 时一切正常。如果我们在某个地方使用 IE,a2000
会在输出2000\n
之前添加:我们会在 HTML 页面的开头得到 a。
然后,这会削弱页面。
如果我们直接连接到端口 8080 上的 Glassfish,一切都很好。
编辑:
根据http://java.net/jira/browse/GLASSFISH-18341,默认 Apache 设置应更新为
因为 IE >= 6.0 不需要降级。
问题依然存在
有什么提示吗?
jboss - 当我使用 AJP 协议时 JBOSS 6.0.0 服务器崩溃 - 打开的文件太多
J BOSS 6.0.0 服务器在我使用 AJP 协议时崩溃。系统连续显示以下异常。