Articles of tomcat

通过Tomcat的内置代理使用NGINX进行反向代理有什么好处吗?

我们有一个运行在EC2实例的Tomcat上的应用程序。 我们在configuration了以下监听器的EC2前面有一个ELB: ELB port 80 –> nginx port 80 –> redirect | port 443 <–> tomcat port 8080 <— 在EC2实例中,我们运行nginx并执行反向代理,将端口80上的连接redirect到端口8080(Tomcat)。 这是configuration: http { server { listen 80 default_server; server_name _; return 301 https://$host$request_uri; } } 运行在同一台服务器上的Tomcatconfiguration为端口8080: <Connector port="8080" maxThreads="300" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" /> 大多数时候,这工作正常,但是当我们的应用程序返回非HTTPSstream量时,这在less数情况下会产生问题。 在研究这个问题的时候,我发现了这篇文章 。 系统是由承包商部分configuration的,他们赞成使用在EC2实例上运行的nginx作为反向代理。 我的问题是,如果在同一台服务器上运行nginx作为反向代理,如果Tomcat可以执行相同的function,并通过安全端口redirect非安全stream量,那么在使用nginx作为反向代理的情况下是否有优势?在链接的文章)? 为什么在这种情况下使用nginx?

HAProxy子域名和pathredirect

我是StackExchange的新手,我试图find一些configuration问题的帮助。 我需要为HAProxy创build一个configuration,这将允许我dynamic代理一个Tomcat应用程序上下文path到一个子域。 子域/path不能被硬编码,应该设置为一个variables。 我已经看了整个网站的其他build议,但没有一个涵盖了这个特定的问题。 到目前为止,我已经从各种现有的build议中整合了这个configuration。 这是我需要的。 用户请求 – > http://site1.domain.com/path redirect到https 然后,HAProxy使用URL http://<ip>:8080/site1/path向后端池发出请求 当tomcat应用程序返回到资产的链接时,他们将有一个path需要redirect。 网站返回https://site1.example.com/site1/image.jpg 如果存在,请从path中删除第一个site1。 https://site1.example.com/image.jpg 我已经使用这个网站的例子和其他指南得到了这个,但我在这方面的知识的极限。 我不知道如何删除path中的site1。 # Frontend Definition frontend tomcat_contexts bind *:80 bind *:443 ssl crt /etc/haproxy/cert.pem acl http ssl_fc,not http-request redirect scheme https if http reqadd X-Forwarded-Proto:\ https default_backend cluster # Backend Definition backend cluster balance roundrobin cookie JSESSIONID prefix […]

为什么一个SIGHUP信号给httpd杀死了tomcat进程?

我有一个服务器与tomcat进程绑定到端口80和httpd进程绑定到端口5000.由于某种原因,每一个进程发送一个SIGHUP信号到httpd进程我的tomcat进程消失没有任何错误或任何东西。 我通过以下方法解决了服务器上的问题,在httpd.conf中添加了一个显式的ServerName指令,并解决了问题。 我还是不明白为什么SIGHUP把httpd杀死了tomcat进程。 注1:我使用以下命令复制了kill信号: 找出httpd pid是什么。 cat /etc/httpd/run/httpd.pid 4056 然后用一个叹息信号杀死 kill -s SIGHUP 4056 注2:我们解决了这个问题,发现每天早晨凌晨4点运行的logrotate发送一个SIGHUP信号来释放日志,以便能够旋转它们,从而杀死tomcat。

haproxy和tomcat间歇挂起

我试图在Solaris x86机器上的tomcat前运行haproxy,但是我得到间歇性故障。 看似随机的时间间隔,请求只是挂起,直到haproxy超时连接。 我想也许这是我的应用程序,但我已经能够重现与tomcatpipe理器应用程序,直接打到tomcat没有任何问题。 用curl反复打击会在10-15次尝试中导致错误 curl -ikL http://admin:admin@<my server>:81/manager/status haproxy在端口81上运行,在端口7000上运行tomcat。haproxy向客户端返回504网关超时,并将其放入日志文件中: Sep 7 21:39:53 localhost haproxy[16887]: xxx.xxx.xxx.xxx:65168 [07/Sep/2009:21:39:23.005] http_proxy http_proxy/tomcat7000 5/0/0/-1/30014 504 194 – – sHNN 0/0/0/0/0 0/0 "GET /manager/status HTTP/1.1" Tomcat什么也没有显示,在日志中没有错误,也没有显示这个请求是否已经到达tomcat服务器。 请求计数不会递增,pipe理器应用程序只在一个线程上显示活动,提供pipe理器应用程序。 这里是我的haproxy和tomcat连接器设置,我一直在玩很多尝试追查问题,所以他们可能不是理想的,但他们肯定不会导致这个错误。 server.xml中 <Connector port="7000" protocol="HTTP/1.1" enableLookups="false" maxKeepAliveRequests="1" connectionLinger="10" /> haproxyconfiguration global log loghost local0 chroot /var/haproxy listen http_proxy :81 mode http log global […]

当Windows集群服务时,Tomcat正常关机?

目前,我们正处于一种情况,即在Windows集群环境中,每晚(或至less存在一个战争档案),通过批处理脚本使Tomcat服务脱机。 问题是当Windowsclosurestomcat服务时,它不会那么优雅。 这可能意味着(并且有多次)服务正在监听并在closures期间使用,或者exception终止 – 或者像我们的情况那样,我们想要部署一个具有相同名称的新的webapp,但是一个jar文件被locking由于正在使用。 有没有人知道一个很好的方式来正常closures这种解决scheme的Tomcat服务? 我们正在运行Tomcat 5.5。

在JBoss 4.2.2 GA中模糊密钥库密码

我已经安装了我的jboss应用服务器来使用SSL。 从我的configuration相关的摘录如下。 一切正常,但是有些人表示担心keystorePass属性是纯文本的。 有什么办法来混淆/encryption这个值吗? 我使用的是JBoss 4.2.2.GA(在红帽企业版上,如果有什么区别的话) <Connector port="8080" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/somewhere/some.keystore" keystorePass="somePassword" keyAlias="tomcat"/> 编辑,为了摆脱安全的朦胧的方法,一个替代混淆这将是根本不提供它,并在启动时有tomcat提示为p / w。 但据我所知,这是不支持的。 任何人都可以证实或否认这一点?

如何为Ubuntuconfigurationtomcat6

我已经安装apache tomcat6为ubuntu 9.04 recenty.But似乎有些API像servelet和http不包括althogh我已经安装了openJDK 1.6。 有人build议我设置JAVA_HOMEpathvariables。 但我无法做到这一点,从哪里做到这一点。 请解释程序。

如何确保基于vps的网站?

如果我有一个虚拟主机与Linux托pipe,我该怎么做,以确保它有平台的安全性? 我安装一个服务器(比如tomcat),一个数据库服务器(mysql),然后我部署我的应用程序。 我应该关心一些安全问题吗? 我正在谈论平台的安全性,而不是我的软件应用程序 谢谢

TeamCity在Windows机器上使用子域名

我有一个在Windows机器上运行的TeamCity Install,它运行在http://localhost:9999我想让我的TeamCity web服务器可用于特定主机条目的外部开发人员。 即http://teamcity.mydomain.com/我该怎么做? 我之前从未和Tomcat合作过,所以越详细越好。 谢谢。

Tomcatredirect问题 – 主机名后加“/” – 帮助请

所有, 我们遇到了一个奇怪的问题。 我们有Apache2.2.3前端的Tomcat 6.0.24。 我们有一个VirtualHost服务端口80和ServerAlias。 Apache只是将“/”移交给Tomcat的负载平衡器。 ——— httpd.conf片段:——– <VirtualHost *:80> ServerName wwwprod.lsa.umich.edu ServerAlias wwwprod www www.lsa.umich.edu Redirect / balancer://dsmdelivery/ ProxyPass / balancer://dsmdelivery/ ProxyPassReverse / balancer://dsmdelivery/ TraceEnable Off </VirtualHost> ————结束httpd.conf片段—- Tomcat正在增加一个额外的“/”,因为它为其中一个服务器别名创build了一个302响应,而当URI没有尾随“/”时,而不是其他的在下面的curl输出。 所以你会注意到: http://www.lsa.umich.edu/polisci <==返回302redirect响应消息的位置标题中的“//” http://wwwprod.lsa.umich.edu/polisci <==在302的位置标题中没有“//” ————–两个虚拟主机的curl输出:————- $ curl -v http://wwwprod.lsa.umich.edu/polisci * About to connect() to wwwprod.lsa.umich.edu port 80 (#0) * Trying 141.211.177.191… connected * Connected […]