我有一个在两个Tomcat主机上托pipe的服务,一个在本地,另一个在云端。 两者都configuration为双向ssl,具有各自的私钥。 当我触发从本地主机到云主机的请求时,它会产生有效的响应。 但是,当我从云触发请求本地,客户端证书(“javax.servlet.request.X509Certificate”)缺less导致失败的请求。 我无法弄清楚,如果ssl的两种方式从一个方面起作用,可能会出现什么问题。 我已经validation了本地包含云主机证书的truststore(为tomcatconfiguration)。
我只是了解Apache / Tomcat中的集群和负载平衡。 我想知道Apache如何select要服务的工作人员。 它是基于每个Tomcat工作者的Xmx消耗量吗? 还是基于最后的请求如何被篡改? 谢谢。
我确信答案很简单,但是我正在把头发撕掉。 我正在用Apache 2.4和Tomcat 8.5.23在新的Ubuntu 16系统上重buildapache httpd + tomcat站点。 我有tomcat运行和ajp13连接器似乎正在运行,但请求http://abilities.tld/给404。在mod_jk.log中出现的404源于tomcat,所以它不是一个简单的httpd 404。 缩写vhostconfiguration <VirtualHost 1.1.1.1:80> DocumentRoot "/home/user/subdir/html" ServerName abilities.tld ServerAlias www.abilities.tld <Directory "/home/user/subdir/html"> allow from all Options ExecCGI Includes FollowSymLinks AllowOverride All Require all granted </Directory> SuexecUserGroup user user JkMount /* ajp13 #Directives to enable Apache to continue serving applications dependent on it. SetEnvIf Request_URI "/webmail*" no-jk […]
场景: 前端:居住在NGINX的Angular应用程序 后端:生活在Tomcat 8.5的Java应用程序 前端需要调用后端Rest API。 据我所知,我需要让CORS发生这种情况: 所以我浏览了Tomcat文档,并将corsfilter添加到了web.xml中: <filter> <filter-name>CorsFilter</filter-name> <filter-class>org.apache.catalina.filters.CorsFilter</filter-class> <init-param> <param-name>cors.allowed.origins</param-name> <param-value>http://dev.retex.global</param-value> </init-param> <init-param> <param-name>cors.allowed.methods</param-name> <param-value>GET,POST,HEAD,OPTIONS,PUT</param-value> </init-param> <init-param> <param-name>cors.allowed.headers</param-name> <param-value>Content-Type,X-Requested-With,Accept,Accept-Encoding,Accept-Language,Origin,Access-Control-Request-Method,Access-Control-Request-Headers,Connection,Host</param-value> </init-param> <init-param> <param-name>cors.exposed.headers</param-name> <param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value> </init-param> </filter> <filter-mapping> <filter-name>CorsFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 然后我重新启动tomcat服务 此设置不按预期方式工作: $ curl -v \ > -H 'Accept: */*' \ > -H 'Accept-Encoding:gzip, deflate' \ > -H 'Accept-Language:en-US,en;q=0.9,es;q=0.8' \ > -H 'Access-Control-Request-Headers:authorization,content-type' […]
上周,亚马逊Linux v2.7.0发布。 更新到此版本后,Web控制台中的“软件configuration”消失。 由于这种变化,我们不得不快速转移到.ebextensions文件configuration。 我们使用下面这个文件。 option_settings: "aws:elasticbeanstalk:container:tomcat:jvmoptions" : Xms: 512m Xmx: 1024m XX:MaxPermSize: 256m JVM Options: "–add-modules java.xml.bind" 几天后,亚马逊出人意料地发布了Amazon Linux v2.7.1,使这些选项再次可用。 所以现在我们在两个地方configuration了相同的东西。 他们的优先级是什么? 我们看到他们随机挑选。 有时从我们的文件有时从Web控制台。 在我看来,它应该更新每次部署后的Web控制台configuration,但它不:(
在Apache 2.2.3上使用mod_proxy代理到Tomcat 5.5时,出现502错误的网关错误。 它直接通过Tomcat(而不是通过mod_proxy)使用时正常工作,所以我假设问题是在Apache的结束。 当请求花费比平时更长时,问题就出现了,但是我还没有看到任何模式。 有时候两秒钟太长,有时候七点钟。 Tomcat用于托pipe基于Groovy / Grails的应用程序。 Apache vhostconfiguration有这些相关的条目: ProxyRequests Off ProxyTimeout 1800 <Proxy *> Order deny,allow Allow from all </Proxy> <Location /> ProxyPass http://DOMAIN:8180/ ProxyPassReverse http://DOMAIN:8180/ SetEnv force-proxy-request-1.0 1 SetEnv proxy-nokeepalive 1 </Location> UseCanonicalName off HostNameLookups off 请注意,我已经添加了ProxyTimeout来试图解决这个问题(以前曾经有类似的情况),但并没有帮助。 这两行是旧的,没有他们的情况更糟 – 几乎每个请求上的错误502。 SetEnv force-proxy-request-1.0 1 SetEnv proxy-nokeepalive 1
更新w /实际答案:我select了下面的单个答案,因为它鼓励更深入地观察实际的机器,实际的用户等等。问题只出现在Microsoft Word文件中,并且只出现在特定的用户。 在观看用户行为之后,似乎发生在上传过程中让Word打开的用户。 我们的假设是Word正在将SmartTag信息写入文件,而文件仍在上传,导致文件损坏。 它似乎发生在远程/ VPN连接更多,因为上传速度较慢,给我们一个更高的Word写入文件的统计机会。 在局域网上上传速度非常快,Word写入的几率较低。 我们发现file upload有时到达服务器上时出现问题。 只有在使用VPN连接的用户身上才会出现这种情况。 他们都运行相同的图像:干净的IE6,XP。 服务器是使用Apache Commons File Upload 1.2.1库的Tomcat 5.0.28。 VPN连接确实跨越北美到印度,所以延迟可能会很大。 提出的问题的答案: 有没有办法让你缩小这个范围呢?就像是从一个特定的网站,一个特定的用户或者一台特定的机器上的用户那里得到的一样吗? 不,唯一的共同点就是VPN连接,尽pipe有一组VPN用户从来没有遇到过这个问题,而其他人却经常遇到这种情况 腐败似乎是在一天中的某个窗口发生的吗? 不,它可以随时发生 他们是否能够以不同的协议传输文件,是否有相同的腐败问题? 当file upload导致损坏的版本时,他们总是通过电子邮件发送文件。 通过电子邮件发送文件始终有效。 你能够从你的网站复制文件到他们的,看到相同的结果,间歇性腐败? 这可以告诉你,如果这是双向的腐败发生的转移过程本身造成的。 这是一个好主意。 我会尝试并报告回来。 有没有办法设置一台服务器来存储数据,然后定期在两台服务器之间运行脚本数据同步? 好主意,但不可能出于法律和人员的原因。
我有一台安装了Apache 2.2.3和Tomcat 5.5.27的CentOS 5.2服务器。 服务器托pipe连接到多个Tomcat的多个虚拟主机。 比如我们有一个用于开发和testing的tomcat,一个用于生产的tomcat。 project.demo.us.com指向dev tomcat和project.us.com指向生产tomcat。 这是虚拟主机的configuration: <VirtualHost *:80> ServerName project.demo.us.com CustomLog logs/project.demo.us.com/access_log combined env=!VLOG ErrorLog logs/project.demo.us.com/error_log DocumentRoot /var/www/vhosts/project.demo.us.com <Directory /var/www/vhosts/project.demo.us.com> Allow from all AllowOverride All Options -Indexes FollowSymLinks </Directory> ########## ########## ########## JkMount /project/* online </VirtualHost> JkMount行定义我们使用在线工人和我们的workers.properties包含这个: worker.list=…, online, … worker.online.port=7703 worker.online.host=localhost worker.online.type=ajp13 worker.online.lbfactor=1 而tomcat的conf / server.xml包含: <Connector port="7703" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" […]
我正在使用RPM软件包在CentOS 5上进行Tomcat 6的设置。 现在我坚持使用旧版本的tomcat5-jsp-2.0-api和tomcat5-servlet-2.4-api-5.5.27-7.jpp5,因为它们是jakarta-taglibs-标准所要求的: $ rpm -q –requires jakarta-taglibs-standard rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 servletapi5 >= 0:5.0.16 tomcat5-jsp-2.0-api >= 0:5.0.16 xalan-j2 >= 2.6.0 如何在没有安装旧的Tomcat 5 RPMS的情况下转移到完整的基于RPM的Tomcat 6解决scheme? 只是为了澄清,这不是出于纯粹的好奇心,而是因为旧的依赖现在打破了我的更新
尝试在Windows上作为受限用户运行tomcat意味着tomcat没有对日志目录的写权限。 而想法如何解决(运行pipe理员不是一个解决scheme)。