Articles of tomcat6

强化非root独立的Linux Tomcat安装

我想了解一旦Tomcat已经安装在非root用户帐户中,并且在独立模式下,您是否有任何关于如何增强Tomcat非root安装的安全性的提示。 我确切地说这是因为,例如,我对这里给出的答案一点也不感兴趣(因为Java和Tomcat都需要root权限来安装,而且我没有兴趣运行jsvc): 我应该采取哪些步骤来保护Tomcat 6.x? 到目前为止,以下是我为非root用户独立安装Tomcat 6所做的工作: 下载并安装Oracle / Sun提供的JRE .bin (不需要在这里是根目录) (不需要完整的JDK了,现在Jasper [Tomcat的JSP引擎]有自己的编译器吧?) 下载和tar -xzf tomcat 6(不需要在这里root) 设置透明的端口转发(这里必须是root) 请注意,我的发行版是一个Debian版本,我完全没有兴趣下载Debian软件包/ backports /无论什么…因为,我不想要root来安装Java和Tomcat。 我唯一需要成为根的时刻是configuration防火墙透明地做端口转发80 8080和443 8443。 然后,我删除了所有的默认webapps,但只有一个: cd ~/apache-tomcat-6.0.26/webapps rm -rf docs rm -rf examples/ rm -rf manager/ rm -rf ROOT/ 怎么样的目录〜/ apache-tomcat-6.0.26 / webapps /主机pipe理器 ,我需要它或我可以删除它? 然后我评论说: – > 所以,一旦我将Tomcat独立安装在非root用户帐户中(并且考虑到我不想再inputroot密码,并且我不打算安装整个Apache shebang),还有什么可以我做? 还有其他的事情我可以禁用? (怎么样?)

Tomcat 6 init.d / SysV脚本

我在Ubuntu盒子上安装了一个定制的Tomcat 6。 我试图让它开始在系统启动,但似乎无法find一个脚本放在/etc/init.d 。 我在哪里可以find一个? 或者我怎么自己写呢?

在Ubuntu Maverick 10.10上启用Tomcat 6的APR

我在Ubuntu Maverick上安装了tomcat6,libapr1&libtcnative-1。 但是,当Tomcat启动它说它使用“org.apache.coyote.http11.Http11Protocol”,而不是加载APR。 有没有一个简单的方法来得到这个工作? 任何其他缺less的软件包要安装?

以root权限启动tomcat webapp

我build立了一个使用libpcap的webapp(通过jpcap)。 为了能够获得networking接口列表或绑定到networking接口,应用程序(在这种情况下是从tomcat服务器运行的webaap)必须以root权限运行。 在开发过程中,我只是用root权限(sudo eclipse)运行Eclipse,而且我的webapp在Eclipse的本地tomcat服务器上工作得很好。 但是,当我尝试将我的webapp部署到“真正的”tomcat服务器时,它不起作用。 我也尝试使用sudo启动tomcat6服务,并将TOMCAT6_USER定义(在/etc/init.d/tomcat6中定义)从“tomcat6”更改为“root”,但没有任何区别。 我该怎么做才能使它工作?

Tomcat直接提供由多个应用程序共享的静态(css,js)文件

我正在使用ExtJS框架,其中有大量的js和css文件,用于所有的应用程序。 我打算分享这些之间的一些networking应用程序(不同的war文件)。 由于这个原因,我想直接从Web服务器上提供ExtJS js和css ,在我的情况下, Tomcat6可以用来提供静态文件,就像这个有用的链接一样 。 因此,我把我的文件放在/var/lib/tomcat6/webapps/ROOT/extjs/ 。 直接在该目录下的静态文件被正确地提供,例如/extjs/ext.js正确地提供/var/lib/tomcat6/webapps/ROOT/extjs/ext.js文件。 但是,较低级别目录中的文件(例如/extjs/welcome/css/welcome.css )应放在/var/lib/tomcat6/webapps/ROOT/extjs/welcome/css/welcome.css文件中, 404 。 TL / DR Tomcat只在顶级目录中提供静态文件。 对于层次结构中较深的文件,将返回一个404 。 configuration文件内容 : server.xml中 应用程序的web.xml 固定 – 解决scheme : 问题是我正在放置这个条款: <Context docBase="/path/to/extjs-static-files" path="/extjs"/> 在Tomcat的server.xml <Engine>子句中。 一旦我把它放在<Host>标签中,它就开始工作了。 阅读这个文档是非常有用的,以确定我做错了什么。

通过代理服务器的HTTP是不允许的

当我尝试连接到我的Tomcat服务器上的http://<servername>:8080它工作正常,但从另一个ISP提供它给出了以下错误: HTTP through a proxy server is not allowed. 有些ISP显然不允许通过端口8080的HTTP,因为他们认为客户端使用代理。 我的网站上也有一个80端口的httpd 。 所以为了避免代理错误,我想对以下路由做出解释: 如果用户连接到http://<servername> ,那么网站通过apache提供服务。 如果用户连接到http://<servername>/AppName ,则该端口将重新路由到8080,而无需客户端(或其ISP)知道。 这是可能的(使用iptables或其他)? 谢谢

如何解决Apache服务器反向代理断开的连接?

在通过https服务器通过Apache服务器反向代理将文件发布到Tomcat servlet时,我们突然看到一个间歇性的,但非常频繁的错误。 该错误似乎只在发布20 MB或更多(video)的文件时发生。 我们还没有看到2到5 MB(JPEG)的较小文件的问题。 在我们尝试过的五台服务器中,有两台发生错误。 在连接的服务器端,即使用Jersey创build的Tomcat servlet,我们得到: java.net.SocketException: Connection reset 作为反向代理的同一台计算机上的Apache服务器提供了以下错误消息: [Thu May 15 17:08:58 2014] [error] proxy: pass request body failed to 127.0.0.1:8080 (localhost) from 192.168.16.xx () 设置Apache服务器的日志级别来debugging和重现问题不会产生额外的信息 – 我们仍然得到相同的错误消息,没有任何关联的消息。 less一些,我们没有在Tomcat方面得到例外,但是检查传输的字节数量与Content-Length头部相比,并不是所有的东西都能完成。 第二种情况下,Apache Server中的错误与第一个“proxy:pass request body failed …”中的错误相同。 在一个服务器上的Apache服务器版本是2.2.15.29,另一个是在CentOS 6.2下运行的2.2.15.30。 反向代理规则是这样设置的: <IfModule mod_proxy.c> ProxyRequests Off # Case Manager Tomcat web service ProxyPass /casemanager […]

在1个apache / tomcat下托pipe2个webapps

我正尝试通过mod_jk在apache2后面的tomcat 6下托pipe多个webapps 。 我以我的智慧结束了这一切。 我面临的问题是这两个域似乎指向一个单一的tomcat“域”。 我的server.xml如下所示: <Service name="Catalina"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="example.com"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> <Host name="example.com" appBase="webapps-example" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host> <Host name="example.com" appBase="webapps-example.com" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host> </Engine> </Service> 我的workers.properties看起来像这样: worker.list=example,example2 worker.example.port=8009 worker.example.host=example.com worker.example.type=ajp13 worker.example2.port=8010 […]

Webapp会导致java.lang.ClassNotFoundException:javax.mail.Authenticator

我有tomcat6在Ubuntu上运行,用Java 1.6.0_20。 其中一个web应用程序导致一个错误,这有一个根本原因: java.lang.ClassNotFoundException:javax.mail.Authenticator mail.jar和activation.jar(在我的在线调查中发现这些是罪魁祸首)位于/ var / lib / tomcat6 / common / lib目录以及webapp的lib目录中。 javax.mail.Authenticator.class在mail.jar中。 还有什么我可以尝试使它工作? 有没有日志可以帮助我find真正的错误? 更新: 删除重复的.jar文件以避免可能的冲突。 试着 运行tomcat(在另一台机器,Windows上的tomcat7)与详细的类加载: [Loaded javax.mail.Address from file:/C:/…/build/web/WEB-INF/lib/mail.jar] [Loaded javax.mail.internet.InternetAddress from file:/C:/…/build/web/WEB-INF/lib/mail.jar] [Loaded javax.mail.Part from file:/C:/…/build/web/WEB-INF/lib/mail.jar] [Loaded javax.mail.BodyPart from file:/C:/…/build/web/WEB-INF/lib/mail.jar] [Loaded javax.mail.internet.MimePart from file:/C:/…/build/web/WEB-INF/lib/mail.jar] [Loaded javax.mail.internet.MimeBodyPart from file:/C:/…/build/web/WEB-INF/lib/mail.jar] [Loaded javax.mail.Multipart from file:/C:/…/build/web/WEB-INF/lib/mail.jar] [Loaded javax.mail.internet.MimeMultipart from file:/C:/…/build/web/WEB-INF/lib/mail.jar] [Loaded javax.activation.DataSource […]

Tomcat的CPU利用率低下

我正在使用tomcat将PDF转换为PNG。 我使用Jmeter来加载/吞吐量testing应用程序使用英特尔(R)至强®CPU X5550 @ 2.67GHz的服务器,有16个超线程核心。 Tomcat6有2gig的堆内存分配,连接器被设置为处理1000个并发连接。 在我的负载testing期间,我发现随着用户数量的增加,响应时间降低,这是正常的。 然而,负载平均值非常低(一台16核心机器大约为1),CPU使用率约为60%。 我通过JMX使用jconsole监视tomcat实例,发现内存使用不是问题。 为了减less响应时间,我在8个不同的端口上创build了大约8个tomcat实例,在负载testing期间负载平衡器负责平衡所有8个端口之间的负载。 这一次,我发现服务器能够处理更多的并发连接,而​​不会降低响应时间。 负载平均值也高到7.所以,看起来像tomcat没有有效地使用CPU只有一个实例设置(我甚至尝试在不同的端口上创build多个连接器)。 好像我们需要在一台机器上运行多个tomcat实例来提取最高的性能。 做这个设置不是最佳的,因为在一个服务器池上创build多个实例,并维护它将是一个痛苦。 我的问题是,是否有可能configurationtomcat这样一个单一的实例将尽可能多的CPU使用高负载平均? 如果您对设置有任何疑问,请发表评论。 我会很感激任何帮助/指针。