Articles of tomcat

iptablesredirect端口80到8080 – 如何禁止直接访问端口8080?

我已经使用iptables为我的Tomcat服务器路由了从端口80到端口8080的所有请求。 iptables -A PREROUTING -t nat -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 8080 现在http://mydomain.com/工作正常,但人们仍然可以访问http://mydomain.com:8080 。 我发现在其他网站上这是不可能的。 反正有禁止通过url直接访问端口8080?

tomcat中有多个webapps – 最佳的架构是什么?

我正在维护越来越多的基于Cocoon-2.1的Web应用程序[ http://cocoon.apache.org/2.1/] ,部署在Tomcat servlet容器[ http://tomcat.apache.org/]中 ,用Apache http服务器代理[ http://httpd.apache.org/docs/2.2/] 。 我在概念上正在苦苦寻找在Tomcat中部署多个Web应用程序的最佳方式。 由于我不是Java程序员,而且我们没有任何系统pipe理员,所以我必须弄清楚自己最明智的做法是什么。 我的设置已经通过2个场景演变,我正在考虑第三个不同的web应用程序的最大分离。 [1] 1个Tomcat实例,1个Cocoon实例,多个webapps -tomcat |_ webapps |_ webapp1 |_ webapp2 |_ webapp[n] |_ WEB-INF (with Cocoon libs) 这是我的第一个方法:只需将所有Web应用程序放入单个Tomcat容器内的单个Cocoon webapps文件夹中即可。 这似乎运行良好,我没有遇到任何内存问题。 然而,这带来了可维护性的缺点,因为一些Cocoon组件经常更新,这往往会影响到webapp编码。 因此,更新Cocoon变得很笨重:因为所有的webapps共享相同的Cocoon组件库,更新其中一个将会要求所有web应用程序中的代码被同时更新。 为了隔离Web应用程序,我转到了第二种情况。 [2] 1个Tomcat实例,每个webapp都在其专用的Cocoon环境中 -tomcat |_ webapps |_ webapp1 | |_ WEB-INF (with Cocoon libs) |_ webapp1 | |_ WEB-INF (with Cocoon libs) […]

caching服务器在Apache Tomcat的前面

我们有一个网站,现在的架构如下: caching图像的前面有鱿鱼。 然后是Apache的httpd与mod_rewrite启用。 httpd然后与Apache的Tomcat(与mod_jk)对话dynamic请求和服务器静态的东西,如js,CSS本身。 Apache的httpd重写干净的URL到原始的(与丑陋的URL PARAMS),tomcat处理。 mod_rewriteconfiguration中有超过100个重写规则。 我们也有一些PHP的东西,我们一起砍了facebook的工作。 PHP文件由Apache服务,但负载明显较less。 因此,我们的目标是能够积极caching静态文件(js,css,images),并将dynamic的东西直接提供给tomcat。 我们需要url重写(这可能是在tomcat本身),gzip / deflate支持以及对php的支持。 所以,根据我们的需要,像squid / varnish这样的caching服务器可以直接放在tomcat前面来完成这个工作,或者我们需要一个像nginx / lighttpd这样的web服务器,因为我们需要php吗?

Apache将所有内容转发到除了webmail之外的Tomcat

刚刚问StackOverflow,但在这里更合适。 我有我的Apache HTTP服务器设置为转发所有请求到Tomcat,即proxy_ajp.conf看起来像: ProxyPass / ajp://localhost:8009/ Tomcat在端口8009上进行侦听。除了当我尝试访问服务器上的squirrelmail(即webmail)之外,这种方法是可行的。 有没有办法转发所有的请求到Tomcat, 除了去/ webmail /? 谢谢您的帮助。

将.ear文件部署到geronimo

我需要将一个.ear应用程序部署到“geronimo”apache(java)应用程序服务器。 我需要更换OC4J服务器,我想我会用geronimoreplace它。 当我尝试从OC4J部署一个工作.ear文件到geronimo,它会给出一些错误。 有人可以帮忙,可以吗? Geronimo是OC4J(oracle)的一个很好的替代品吗? 谢谢 翻动

如何覆盖Tomcat5的类path中的文件

我在Tomcat服务器中有一个.war文件。 .war文件包含一个我想重写的文件。 webapp将从classpath中加载文件。 我怎样才能修改类path,使服务器从本地磁盘加载另一个文件呢? 基本上我应该添加以启动类pathreplace文件所在的目录。 我怎样才能做到这一点?

如何评价限制命中Tomcat应用程序?

我们从Apache 2.2 + mod_proxy_ajp + Tomcat 6提供了一个Java应用程序,这是一个REST API,最终用户倾向于尽可能快地完成它的速度。 我希望能够每秒扼杀命中,理想的用户/ IP,它。 就像Amazon,Twitter等速率限制对他们的API的命中一样。 最好在Apache或Tomcat本身,但在操作系统(Fedora)是好的,虽然我不想影响在同一个盒子上的其他Tomcat应用程序(所以只是做端口80上的iptables不是最好的解决scheme) 我不想限制带宽 ,这个应用程序不会产生超过1k每次命中的输出,只是应用程序点击的原始数量,以防止Tomcat被压倒 我在亚马逊AWS EC2上运行,因此没有多个IP或其他复杂的networking解决scheme 我可以告诉开发者把他们的代码放在解决scheme中,但是我想可以从pipe理angular度来控制它(比如我可以使用log4jconfiguration文件更改日志级别)。 看起来像所有的Apache模块做这样的东西都被遗弃,而不是Apache 2.2兼容。 想法?

通配符SSL和Apacheconfiguration

我正在努力解决这个问题,这可能很简单。 我有一个通配符SSL证书正在工作。 我有网站设置在SSL下的domain.com上运行。 现在,我需要在具有相同SSL证书的同一台服务器上运行多个子域(* .domain.com)。 不应该那么辛苦吧? 那么,我不能顺其自然。 要点是,第一个configuration是另一个Tomcat服务器,服务于另一个站点,并收听domain.com和www.domain.com。 另一个configuration监听* .domain.com并从另一个Tomcat服务器获取内容。 我已经使用mod_rewrite尝试了这整个设置,但根本没有看到我在做什么错了。 任何帮助非常感谢。 这里是我在Apache 2.2中的conf: <VirtualHost *:443> SSLEngine on SSLCertificateFile … SSLCertificateKeyFile … SSLCertificateChainFile … ServerName domain.com ServerAlias www.domain.com ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPreserveHost On ProxyPass / ajp://localhost:8010/ ProxyPassReverse / ajp://localhost:8010/ </VirtualHost> <VirtualHost *:443> SSLEngine on SSLCertificateFile … SSLCertificateKeyFile … […]

Tomcatpipe理员用户名和密码失败

我已经安装了tomcat 5.x,并在端口80上运行(使用mod_jk安装)。 / usr / share / tomcat / webapps /目录下的'manager','examples'和'ROOT'目录被删除,并且从一个正在工作的tomcat服务器上重build它们。 当我访问http:// localhost:8080 / manager / html (或) http:// localhost / manager / html时 ,即使在input正确的用户名和密码后,它仍会一直提示input密码。

J2EE Web应用程序生产中的热部署

如何在生产服务器上部署我的Java WAR文件,而无需停机。 我目前使用的是Apache2-> Jetty6,当我需要更新Web应用程序时,我将这个war解压缩到目录中,然后重新启动Jetty服务 /etc/init.d/jetty6 restart 这可能需要5分钟的时间重新启动有另一种方式? “大”网站如何做到这一点? 根据我的经验,像JBoss这样的热部署失败了,因为垃圾收集器没有收集所有东西,服务/进程的内存不足,情况有所改善?