Articles of tomcat

负载平衡MongoDB

我有一个用java写的应用程序,我准备开始扩展生产。 据我了解,我不应该使用负载平衡器与MongoDB路由器实例,因为它可能会导致问题。 但是,我知道在某些时候我需要多个Mongo路由器。 什么是最好的方式去做这件事? 我能想到的唯一方法是运行Tomcat服务器的多个副本,使用负载平衡器将stream量路由到其中一个Tomcat,并且将每个Tomcat预configuration为使用特定的MongoDB路由器。 但是,我不认为这将工作得很好,就好像一个mongodb路由器出现故障,然后可能会出现错误,如果一个tomcat崩溃,那么我正在浪费一个mongodb路由器。

Nginx严禁从上游处理404

在我的设置中,我有一个nginx服务器作为我的tomcat应用程序服务器的反向代理。 我使用proxy_pass连接到tomcat上游.. location /test { proxy_pass http://upstream1/webapp1/gateway } 现在,如果有人向我的nginx服务器http://myserver.com/test.jsp发起请求,这个请求也会被testing位置处理并传递给tomcat实例。 tomcat实例返回一个404,但是nginx没有处理这个404请求。 (我已经在nginx级别定义了404页面),而是浏览器直接从tomcat显示页面(包括tomcat版本信息和全部)。 我怎样才能阻止这个 我不想公开我的应用程序服务器的详细信息。 提前致谢

如何为Tomcat 7中的某些URLselect性地启用或禁用SSL

我在Tomcat 7中使用SSL,创build一个密钥库并configurationserver.xml ,并在web.xmlconfiguration如下 <security-constraint> <!– SSL enforced –> <web-resource-collection> <web-resource-name>SSL</web-resource-name> <url-pattern>/inspectionGp/*</url-pattern> <url-pattern>/inspection/*</url-pattern> <url-pattern>/inspGpDt/*</url-pattern> <url-pattern>/inspDt/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint> 这适用于SSL,这些受限制的URL被迫仅使用SSL,但其他URL也可以使用HTTP和HTTPS,奇怪的是,我不希望使用HTTPS来处理<url-pattern>中未configuration的<url-pattern> 。 我使用<transport-guarantee>NONE</transport-guarantee> ,这将导致所有URL支持HTTP和HTPPS。 那么有谁能帮我解释一下如何解决这个问题?

在AWS EC2上为Tomcat 8 webservice设置VirtualHost

除了AWS EC2 Linux上的默认Apache之外,我还安装了Tomcat 8并在其上部署了一个Web服务。 当前的URL(工作)是http://example.com:8080/MyService/api/generatePath 我想使这个更短的子域api.mydomain.com,以便我可以使用这个URL: http ://api.example.com/generatePath。 这是我在/etc/httpd/conf/httpd.conf所做的,但是不起作用: <VirtualHost *:80> ServerName api.example.com ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://localhost:8080/MyService/api ProxyPassReverse / http://localhost:8080/MyService/api </VirtualHost>

为用户“tomcat”创build本地自签名证书

当我在Ubuntu 15.04上安装Tomcat 8时,我使用以下命令来创build用户“tomcat”: sudo adduser \ –system \ –shell /bin/bash \ –gecos 'Tomcat Java Servlet and JSP engine' \ –group \ –disabled-password \ –home /home/tomcat \ tomcat 因此,我没有密码。 现在我需要生成一个CSR,以便在Tomcat 8上安装SSL证书。为此,我正在使用本教程 。 在运行命令keytool -genkey -alias tomcat -keyalg RSA -keystore <your_keystore_filename>它将为用户“tomcat”请求密码。 我试过击ENTER,但它不工作。 我该怎么办?

OpenCMS在TomCat Start上抛出Javaexception

安装程序: – 运行在TomCat5.5上的OpenCMS 使用DiabloJVM在FreeBSD上运行的系统 在TomCat重新启动后,OpenCMS系统正在工作,停止加载。 运行在不同主机上的数据库服务器(postgres)已重新启动,并且响应正确。 任何build议让它运行? 当TomCat启动时,在stdout中出现以下错误: org.apache.openejb.OpenEJBException: org.apache.xbean.recipe.ConstructionException: Error invoking constructor: public org.apache.openejb.tomcat.catalina.TomcatSecurityService(): Error invoking constructor: public org.apache.openejb.tomcat.catalina.TomcatSecurityService() … 6/12/09 10:11:29 AM (I) WebappClassLoader.validateJarFile : validateJarFile(/usr/local/tomcat5.5/webapps/opencms/WEB-INF/lib/servlet.jar) – jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class ` 6/12/09 9:21:08 AM (S) HostConfig.deployDirectory : Error deploying web application directory opencms java.lang.ArrayIndexOutOfBoundsException: […]

如何在端口80上的Linux上运行Tomcat和PHP?

我想在Linux上的端口80上同时托pipeTomcat和PHP,并且我有两个可用的IP地址。 我只使用PHP,以便我可以托pipe一些邮件列表软件,我可以将其映射到newsletter.mydomain.com。 所以我的问题是,是否有可能在1个IP地址的端口80上运行Tomcat,而在另一个IP地址上的80端口上运行Apache?

当80/433已被使用时,隐藏URL中的端口

我需要在已经使用端口80和端口433的服务器中添加另一个安全的Tomcat实例。 有没有办法隐藏新实例的端口号,因为我需要使用一个不被普遍接受的端口号? 提前致谢。

作为sudo运行时,将环境variables传递给另一个用户

我正在RHEL5机器上安装Tomcat,并且在启动时遇到了一些麻烦,因为JAVA_HOME没有设置。 Tomcat正在开始使用 sudo /sbin/service tomcat start 并在用户tomcat下运行。 当我以自己的身份或以root用户身份login时,正确设置JAVA_HOME (使用/etc/profile.d/java.sh )。 我猜这是由sudo没有正确传递。 有人能指出我需要做的变化的方向,以获得这个variables通过sudo通过或由tomcat用户拿起? 我相信有很多方法。 提前致谢 丰富

在相同的服务器和同一端口上运行TeamCity和YouTrack?

我想使用自包含的jar(如果这就是所谓的)从jetbrains.com下载在同一台服务器(Ubuntu的Linux)上运行。 我认为他们使用java运行一些内部的tomcat / catalina服务器。 我一直在不同的端口上运行这些,并使用不同的主机名来避免会话问题(因为我知道会话绑定到主机名)。 这两个主机名buildserver.local和youtrack.local指向相同的IP地址。 但是在不同的端口上定义了什么服务器来响应请求。 这对于只允许防火墙外部的端口80的防火墙造成一些麻烦。 反正有configuration这些服务器/服务来响应的主机名而不是端口? 同样在configuration文件中,在server.xml中的连接器节点上有一个名为“redirectPort”的属性。 它有什么作用? ..fredrik 编辑: 我在apache中做了虚拟主机来尝试redirect到我的内部地址。 NameVirtualHost *:80 <VirtualHost *:80> ProxyPreserveHost On ProxyPass / http://youtrack.local:8080/ ProxyPassReverse / http://youtrack.loca:8080/ ServerName youtrack.local ServerAdmin [email protected] </VirtualHost> 但是我得到403错误。 而在Apache错误日志中,我得到这个: client denied by server configuration: proxy:http://youtrack.local:8080/ 当我在本地networking工作或通过VPN时,它工作。 所以我认为这是一些在哪里的Apacheconfiguration。 有任何想法吗? EDIT2: find解决scheme。 在apache2 / mods-enable / proxy.conf中,需要在该部分更改为: <Proxy *> AddDefaultCharset off Order deny,allow […]