Articles of tomcat

未更改Elastic Beanstalk转换为RED健康

我有一个在Elastic Beanstalk上运行的应用程序,似乎随机转换到RED。 该应用程序运行得很好,已经有一段时间了(它也没有崩溃),但每过一段时间它通过YELLO转换为红色,是无法访问的。 我想知道为什么会发生这种情况,日志并不能说明为什么会这样做。 它看起来可能是亚马逊更新beanstalk快照,但是在日志甚至历史中没有迹象表明它正在完成。 有谁知道是什么原因造成的,我能做些什么来防止它?

Tomcat升级replaceROOT.war

通过运行升级tomcat时: yum update 在Amazon Linux上,ROOT.war文件被tomcat发行版中的默认ROOT.warreplace。 有没有办法来防止这一点?

使用mod_deflate apache与tomcat进行gzip压缩

我想在我的Apache服务器启用GZIP压缩,这是使用连接器面向Tomcat实例。 我在httpd.conf中尝试了几个模块configuration设置的变体。 这是我最近的尝试: <IfModule mod_deflate.c> SetOutputFilter DEFLATE BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html DeflateCompressionLevel 9 SetEnvIfNoCase Request_URI \.(?:gif|png|jpg|jpeg)$ no-gzip dont-vary Header append Vary User-Agent env=!dont-vary DeflateFilterNote Input instream DeflateFilterNote Output outstream DeflateFilterNote Ratio ratio LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate CustomLog "/var/output/logs/deflate_log" deflate ErrorLog "/var/output/logs/deflate_error_log" </IfModule> 我正在使用Firebug检查响应头,并validation了请求头包含Accept-Encoding: gzip […]

如何从httpd mod_proxy代理用户上下文到tomcat?

我已经用SPNEGOconfiguration了一个tomcat实例来执行用户authentication。 当我直接访问tomcat端口时,会导致我的浏览器请求我提供的用户名和密码,以及它正确validation的用户名和密码。 到目前为止,我还没有说服它做无声的SPNEGO / Kerberos握手和authentication我,而不需要键入凭据,但这是另一个问题。 🙂 我使用mod_proxy的Apache httpd,以便我可以访问端口80/443,并接收来自不同端口上的多个tomcat实例的响应。 即 ProxyPass /api/v1 http://localhost:18080/api/v1 ProxyPassReverse /api/v1 http://localhost:18080/api/v1 ProxyPass /myapp http://localhost:28080/myapp ProxyPassReverse /myapp http://localhost:28080/myapp 我遇到的麻烦是,当我通过httpd反向代理访问站点时,没有与我的浏览器握手。 相反,我被authentication为httpd正在运行的帐户。 即“www”。 有人知道什么mod_proxy(或其他)的设置,我需要调整,以便让tomcat执行用户身份validation时,通过mod_proxy? 还是有更好的方法呢?

Tomcat资源不能正确parsing

我正在尝试使用Tomcat部署MITRE的OpenID Connect Java Spring Server 。 我的服务器的FQDN是park.muller.io 。 我编译了MITRE服务器,并将.war文件放入Tomcat的webapps目录中。 当我访问park.muller.io:8080/openid-connect-server-webapp时 ,我看到着陆页的内容…但没有任何图像或样式表parsing。 进一步检查后,图像的src属性是一个相对URL,但是当我右键单击图像并尝试查看它时,它将主机parsing为localhost:8080 。 我已经在我的桌面和平板电脑上确认了这种行为,所以它不是一个/etc/hosts问题,因为我第一次怀疑(我曾经有park.muller.io解决我的家庭地址,但它不这样做了。) 在park ,如果我运行hostname -f ,它park.muller.io像预期的那样返回park.muller.io 。 这是因为我已经在/etc/hosts中声明了这一点,试图自己解决这个问题。 我完全困惑; 这使ZERO感觉到我。 什么是相对链接解决到localhost ,我怎样才能解决它?

SSL返回空白页,没有Catalina错误

这是我第二次或者第三次在Tomcat上configurationSSL。 早些时候,我创build了一个自签名的工作,现在使用我的签名certificate是徒劳的。 我正在使用从Amazon Linux API操作的Tomcat。 当使用签名的证书/密钥库时,我的服务器正常启动,没有错误。 但是,试图导航到域时,它给我一个“ERR_SSL_VERSION_OR_CIPHER_MISMATCH”错误。 我的server.xml文件如下所示: <Connector port="8443" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https" secure="true" SSLEnabled="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/home/ec2-user/.keystore/starchild.jks" keystorePass="d6b5385812252f180b961aa3630df504" /> 也不能提及我正在使用通配符证书。 请让我知道,如果有什么看起来不对劲! 编辑: 仔细研究之后,我确定Server.xml或侦听端口可能没有问题。 这变成了一个实际的证书错误,因为curl请求给了我这个错误: curl: (35) Unknown SSL protocol error in connection to jira.mywebsite.com:-9824 虽然,我似乎无法弄清楚“-9824”是什么。 当把这个curl和另外一个相似的设置(使用相同的通配符证书)进行比较时,就会发现完整的握手,这是可以预料的。 我相信这是在JIRA服务器上的默认协议/密码集之间。

configurationISAPIredirect器:IIS和Liferay的工作者特性

我问stackOverflow这个问题,我没有得到任何答案抱歉,如果问题以某种方式重复,任何方式: 我们已经向Liferay Tomcat服务器提供了IIS,而且我们使用了ISAPI tomcatredirect器,所有的工作都很好。 问题是我们需要将特定的域名映射到Liferay上的特定URL: workers.properties: worker.mydomain_com.port = 8014 worker.mydomain_com.host = 127.0.0.1 worker.mydomain_com = AJP13 uriworkermap.properties /mydomain.com/=mydomain_com /www.mydomain.com=mydomain_com /www.mydomain.com/*=mydomain_com 这个configuration将把www.mydomain.com映射到localhost:xxxx。 我想要的是如何configuration工人mydomain_com所以它可以映射到本地主机:xxxx /networking/组织。 我search了worker.mydomain.options,但没有uri的configuration,有什么办法吗? 谢谢

apache mod_proxy_ajp偶尔会有不完整的文件

我们有一个问题,一些用户看到从Web服务器返回的不完整的文件,这些文件使用mod_proxy_ajp代理到Tomcat apache 2.4.6 tomcat版本7.0.27 有问题的文件超过40MB,有些用户看到它在10MB左右完成,一直到完整的文件大小。 当看到传输的字节时,tomcat访问日志报告文件被完全发送,Web服务器指示最终用户接收的大小。 大多数情况下,Web服务器响应代码是200,很less是206。 我有点难以理解,甚至试着去确定这个问题可能发生的地方。

带有Tomcat的Apache httpd mod_rewrite导致JSESSIONID丢失

所以我正在开发一个Java Web应用程序,为此我最近实现了一个依赖于JSESSIONID cookie识别用户的authentication模块。 我在eclipse上testing了一个本地的tomcat,并且一切正常……直到我用一些更高级的安装结构在我们的VPS(Centos)上部署应用程序: Apache HTTP服务器 几个虚拟主机 所述webapp被安装在具有mod_jk的虚拟主机中。 目前通过“sub.hostname.com/WEBAPP_NAME/home”进行访问,但应该以“sub.hostname.com/home”提供。 上面的设置在authentication更新之前并不是什么大问题(顺便说一下,之前的tomcat安全选项处理访问)。 旧的VirtualHost看起来像这样,工作得很好: <VirtualHost *:80> ServerName sub.hostname.com RewriteEngine on RewriteRule ^/(.+)$ /WEBAPP_NAME/$1 [L,PT] RewriteRule ^/$ /WEBAPP_NAME/home [L,PT] JkMount /* worker </VirtualHost> 问题:部署之后,validation将不起作用,因为JSESSIONID cookie没有写入。 我删除了RewriteRules并通过'sub.hostname.com/WEBAPP_NAME/home'访问应用程序,在那里一切正常,我收到一个cookie。 从这些观察,我猜这个问题是由于URL被重写,而Servlet不会将cookie写入正确的path(?)如果是这样的话,我应该尝试从应用程序内写入cookie到其他path? 问题:我接受关于解决scheme的所有build议。 请裸露在我身上,因为我(显然)不是服务器设置的专家。 有没有什么具体的设置,可以在apache或tomcat中处理呢? 还是我最初select了错误的安装架构? 提前感谢!

Tomcat 7去了<defunct>,不能杀死进程。 可能是什么原因?

我正在运行tomcat7生产服务器好几天,然后突然被http端口无法访问 。 奇怪的是,后台进程仍在运行 ,可以看到日志。 所以我试图阻止tomcat7使用invoke-rc.d tomcat7 stop从我的debian wheezy框。 但是,这个过程仍然在那里,与国旗。 我试过kill -9 <pid>和killall -9 java ,但仍然存在进程 – 仍然占用端口,导致我无法启动新的tomcat,并且端口已经被使用错误。 我不得不重新启动。 从那里一切正常。 但是我很好奇什么可能会导致这种情况? 没有什么大的负荷。 只有一些后台进程运行,刮。 我从日志中看不到任何可疑的东西。 如果再次发生这样的事情来解决真正的问题,我该怎么办? 这是我的连接器设置: <Connector port="8080" address="127.0.0.1" maxParameterCount="500" maxPostSize="250000" scheme="http" secure="false" protocol="org.apache.coyote.http11.Http11AprProtocol" connectionTimeout="20000" disableUploadTimeout="false" connectionUploadTimeout="300000" maxThreads="500" processorCache="500" URIEncoding="UTF-8" /> 我的tomcat版本: 7.0.28-4 + deb7u1 我的虚拟机参数: JAVA_OPTS =“ – Djava.awt.headless = true -Dspring.profiles.active =”background,production“-XX:-UseSplitVerifier -javaagent:/var/lib/tomcat7/spring-instrument-3.2.3.RELEASE.jar – […]