Articles of mod jk

Apache发送400而不是404

我有一个奇怪的问题。 当客户端请求一个不存在的jsp页面(html请求被一个404正确回答)时,Apache正在用400错误代码而不是404来回答。 Apache正确服务于404的唯一时间是对不存在页面的请求是对根目录中的文件的请求。 我知道,根目录匹配重写规则,但似乎并不相关。 例如: www.xxx.com/jjj.jsp – 404 www.xxx.com/bla/jjj.jsp – 400 我有Apache 2.2和Tomcat 6安装与mod_jk。 我把所有的jsp请求转发到mod_jk。 这是我的相关httpd.confinput: ServerAdmin [email protected] DocumentRoot /opt/tomcat/webapps/sb ServerName xxx ErrorLog /var/log/httpd/xxx/error_log CustomLog /var/log/httpd/xxx/custom_logs common JkMount /*.jsp ajp13 RewriteEngine On RewriteLogLevel 9 RewriteLog /var/log/httpd/xxx/rewrite.log RewriteCond %{HTTP_HOST} !^www\.xxx\.com$ [NC] RewriteRule ^(.*)$ http://www.xxx.com$1 [R=301,L] RewriteRule ^/([\w\d]*).jsp$ /sb/jsp/$1.jsp [PT,NC,QSA,L] RewriteRule ^/$ /sb/jsp/index.jsp [PT] [NC] [QSA] [L] […]

Apache,mod_ssl,mod_jk,tomcat和客户端证书过滤

我正在一个非常具体的apache + mod_ssl + mod_jk + tomcat上工作 到目前为止,一个基本的configuration工作,我想要的:访问我的webapps背后的东西很好。 我使用通配符证书的前端(因此,Apache)。 连接是这样的: [apache] < – > [mod_JK] < – > [tomcat] apache :2.2.17 Tomcat :7.0.12 JK_mod版本 :1.2.31 注意 :目前我只有1个tomcat正在运行,但是我可能需要使用mod_jk中的负载均衡器添加其他的。 好吧,现在是有趣的部分。 我需要使用客户端证书来保护我的webapps。 例如,为了访问“webapp1”而向“用户1”提供“客户证书1”应该被允许,但是不应该允许任何其他web应用。 这对于“用户2”是一样的:使用他自己的客户端证书(客户端证书2)访问webapp2,等等。 为了更加灵活(在webapp中也有一些java代码,所以这很理想),我决定让Tomcat处理客户端证书,而不是Apache。 但是有一个棘手的方面:对于网页浏览(使用互联网浏览器,如Firefox,IE等),应该使用通配符证书(这个证书是由verisign生成的,然后在apache conf ); 但是对于应用程序数据上传(这些是web应用程序的function),要求客户端证书(见上)仅允许非常有限的访问。 我知道这可能听起来很愚蠢,但这就是我所要求的… 我已经结束了2种不同的configuration: 1)在端口443上使用带有通配符证书的Apache和在端口8443上使用Tomcat – SSL 通过网页浏览器,我可以通过mod_jk通过apache查看我的应用程序。 数据上传通过Tomcat SSL端口执行。 这可能是正常的,但我可能需要稍后运行多个Tomcat实例,所以我不知道它将如何performance。 但这可能是一个解决scheme。 到目前为止,这是最重要的configuration 2)在端口443上使用apache,在8080端口上使用tomcat 我能够查询我的密钥库来检索任何客户端证书。 问题是,我不能再使用我的通配符证书,并需要客户端证书来访问我的web浏览器(我不想)。 接下来,为了尝试解决这个问题,我尝试在apache中添加一个虚拟主机,使其拥有2个不同的servername。 我想要的是一个DNS名称用于浏览我的应用程序,另一个用于将数据上传到我的应用程序。 但它仍然要求客户证书。 所以我的问题是: 1)根据我的prerequesites,这是可行的吗? […]

mod_jk与Tomcat 6和HTTPauthentication

是否有任何使用ModJK转发到标准HTTP身份validation的应用程序? 我们在Tomcat 6.0.14上安装了两个Web应用程序,一个是标准的Tomcatpipe理器,另一个是标准的Tomcat示例应用程序。 我们可以到示例应用程序,但Tomcatpipe理器不起作用。 Tomcat日志显示401错误。

Apache Webserver中的modjkconfiguration中的多个负载均衡器,用于JBoss实例负载平衡

在大多数情况下,我们会有 1)只有一个定义types为'lb'的负载(Loadbalancer) 2)我们将有多个成员工(定义目标应用服务器实例) 3)我们将这些目标工作者与定义的负载均衡器进行映射 属性worker..balance_workers = worker1,worker2 以下是查询。 1)是否有可能在同一个modjkconfiguration文件中定义多个负载均衡器,并且有不同的目标worker与这些worker相关联。 2)是否可以在应用程序级定义负载均衡机制(对于不同types的应用程序(具有不同的应用程序上下文,但在同一个工作节点上运行),使用不同的lb因子方法)?如果可能,我们如何configuration? 3)有什么办法可以设置超时的请求,可能需要更长的时间间隔发送回应?

URL重写和mod_jk

我想重新定义用JkMount装载的Tomcat web服务的基本URL。 我尝试了以下内容: JkMount /myapp/* ajp13_worker RewriteRule ^/service/v1/(.*)$ /myapp/$1 [PT,QSA] 原始url的工作,例如: /myapp/ /myapp/brand /myapp/classified?idBrand=0&priceMax=&page=1 我试图获得的URL是: /service/v1/ /service/v1/brand /service/v1/classified?idBrand=0&priceMax=&page=1 但他们返回404(从Apache,而不是从Tomcat)。 如何使其工作? 更新 :我只是忘了 RewriteEngine on 现在它工作。

apache和jboss负载均衡设置

在一个正常的负载平衡设置与Apache(mod_jk)和jboss的总处理是由Apache完成的部分是由jboss完成。 如果apache只是平衡负载,理论上应该可以直接从jboss得到结果。 可能吗? 在这样的设置中,apache只能作为代理吗?

Apache&Tomcat&mod_jk仅在特定页面上进行SSLredirect

我们有一个运行Apache和Tomcat的Windows服务器,并启用了mod_jk。 Tomcat应用程序运行得非常好,就像单独的PHP应用程序(在Apache下)一样。 我们在Apache下安装了商业SSL证书,并在httpd-ssl.conf文件中创build了一个指令。 所有这一切正常。 如果我们直接浏览到https://www.domain.com/app/foo/bar,它工作正常,所以我们知道证书正在工作。 我们的问题是,我们希望某些页面(特别是JSP页面)在https下加载。 我们尝试将.htaccess文件放在适当的文件夹中(我们认为这些servlet是活着的),并且什么都不做,大概是因为Tomcat没有提供这些页面,Apache是​​(这是正确的想法?)。 所以,我们很困惑,我们应该在什么地方configuration规则(?)来为某些JSP页面强制https而不是其他页面。 据推测,Apache应该处理这个,但由于.htaccess文件不能正常工作,还有什么其他的select?

tomcat / mod_jk-错误尝试使用tomcat + apache web服务器configurationmod_jk

我正在尝试configurationmod_jk,以便http://domain.com/由Apache服务,而http://app.domain.com/由Tomcat提供。 现在,当我去app.domain.com,我可以看到Tomcat的消息,但是我无法访问Tomcatpipe理器 – 有没有什么毛病在我的configuration在Mod JK或者是别的吗? 我在Tomcat Host Manager中成功创build了app.domain.com的虚拟主机。 我也能够为app.domain.com创buildpipe理器(当我为app.domain.com创build虚拟主机时),后来我做了以下更改以configurationmod_jk– vi /usr/local/apache/conf/vhosts.conf 在这个文件中,我将JKMount的指令添加到了与我们的应用程序域JkMount /相对应的VirtualHost元素。 tomcat JkMount / .jsp tomcat JkMount / servlet / tomcat 在/usr/local/apache/conf/httpd.conf join下列— ## #Directives for Mod_JK ## <IfModule mod_jk.c> JkWorkersFile /usr/local/apache/conf/workers.properties JkShmFile /usr/local/apache/mod_jk.shm JkLogFile /usr/local/apache/mod_jk.log JkLogLevel warn JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " JkOptions +ForwardKeySize +ForwardURIProxy -ForwardDirectories </IfModule> 我还对workers.properties进行了更改,以添加与我上面定义的worker'tomcat'相对应的worker。 我如何解决这个问题? 在进行上述更改之前,我能够访问Tomcat […]

什么时候需要将Apache httpd与Apache Tomcat(mod_jk)集成?

Apache网站,推荐整合httpd和tomcat(mod_jk)。 第一个是静态内容,第二个是dynamic内容。 整个页面是dynamic的情况呢? 整合两台服务器是否有意义? 有什么好处?

无法获得工作端点(jk_handler :: mod_jk.c)

我在debian Lenny上使用Apache2与Tomcat,当我尝试访问该网站,其工作,但有时我得到错误500“内部服务器错误”。 从mod_jk.log中,我可以find以下错误 [Mon Oct 29 16:46:00 2012] [30901:139706010294016] [warn] ajp_get_endpoint :: jk_ajp_common.c(3117):无法从1个位置获取worker1的空闲端点[Mon Oct 29 16:46:00 2012] [30901:139706010294016] [error] jk_handler :: mod_jk.c(2552):无法获得worker = worker1的端点 以下是我的workers.properties中的configuration worker.worker1.type = AJP13 worker.worker1.host =本地主机 worker.worker1.port = 8009 worker.worker1.cachesize = 10 worker.worker1.cache_timeout = 600 worker.worker1.socket_keepalive = 1 worker.worker1.reclycle_timeout = 300 有人能帮我find并解决这个问题吗?