Articles of tomcat

用tomcat服务器运行wordpress

我在CentOS 6中的Tomcat服务器上build立了Java网站。我的网站运行在端口8080,域名为mywebsite.com。 现在我想用另一个域名为我的网站构build一个WordPress的博客,但仍然在同一个服务器,如:blog.mywebsite.com。 我读过这篇文章,但我仍然不知道如何configuration它。

Tomcat 8,Kerberos身份validation

我正在为tomcat服务器configurationKerberos。 在我打电话给Web应用程序支持公司之前,我想知道是否我正在做正确的步骤,因为这是我第一次。 该域有2个区域,一个是.local,另一个是.edu。 人们将通过server.domain.edu访问服务器,因为它具有该名称的SSL证书。 我有一个Windows用户有一个注册的HTTP / server.domain.edu SPN。 该帐户可以作为服务运行。 我运行这个命令ktpass -princ HTTP/[email protected] -mapuser [email protected] -pass "UserPass" -ptype KRB5_NT_PRINCIPAL -out keytabfile.kt 。 从这个命令我得到了一个成功的映射HTTP / server.domain.edu [email protected]和密钥文件。 我将文件复制到tomcat服务器并configuration以下内容。 一个jass.conf文件: WebFDD { com.sun.security.auth.module.Krb5LoginModule required debug=true useKeyTab=true storeKey=true keyTab="C:/keytab.kt" principal="HTTP/server.domain.edu" isInitiator=false; }; 和一个krb5.conf文件: [libdefaults] default_realm = domain default_keytab_name = FILE:c:\keytab.kt default_tkt_enctypes = rc4-hmac,aes256-cts-hmac-sha1-96,aes128-cts-hmac-sha1-96 default_tgs_enctypes = rc4-hmac,aes256-cts-hmac-sha1-96,aes128-cts-hmac-sha1-96 forwardable=true [realms] domain […]

使用ARR 400.0错误redirect

我已经在IIS 8.5上安装了ARR 2.5 +修补程序,并且希望将来到IIS的请求redirect到Tomcat Web应用程序(示例localhost / test)。 我创build了规则并成功运行,但是我在这个webapp上实现了SSO,所以我需要首先显示login页面,然后在成功时redirect到我的应用程序。 为sso我有3个文件夹(一,二,三),我添加规则不重写,也不redirect到tomcat,它的工作,但是当我用我的凭据login我得到错误400.0说,我已经达到最大向前极限..我GOOGLE了,我有的build议是改变端口? 但是我没有使用服务器场,我只是使用默认的网站来指向我的web应用程序和SSO文件夹。 任何想法?

ARRredirect规则(错误404)

那么我使用ARR使IIS作为我的应用程序所在的Tomcat的前端。 我正在使用的规则只适用于第一个索引页,就是这样。 规则是 Patter (Wildcards) *myapp* Rewrite To: http://myserver:8080/myapp/ I only have one box checked (Stop Processing). 当我使用IIS(myserver / myapp)调用myapp时,它将我redirect到myapp索引页面,之后它给了我一个错误404 Requested URL http://myserver:80/login Physical Path C:\inetpub\wwwroot\login 为什么IIS不能指向我的应用程序? 为什么回到IIS主文件夹?

在同一端口上运行Apache http,Apache tomcat和nodejs

我是一个Web开发人员和一个项目,我需要在不使用端口的情况下运行tomcat和nodejs。 我在httpd中看到了一些关于代理模块的文章,所以我创build了两个虚拟主机: <VirtualHost *:80> ServerName localhost # ErrorLog "logs/tomcat-error.log" ProxyPreserveHost On ProxyPass /tomcat http://localhost:8080/ ProxyPassReverse /tomcat http://localhost:8080/ </VirtualHost> <VirtualHost *:80> ServerName localhost # ErrorLog "logs/nodejs-error.log" ProxyPreserveHost On ProxyPass /nodejs http://localhost:8000/ ProxyPassReverse /nodejs http://localhost:8000/ </VirtualHost> 当我尝试访问localhost / nodejs或localhost / tomcat我得到一个未find错误。 有人能解释我为什么吗? 谢谢 ;-)

Tomcat的webapps吃了所有的内存

我正在运行一些tomcat服务器,我们部署了我们的编码器编写和实现的应用程序。 问题在于,在我们的一些服务器中,尤其是那些有多个请求的服务器,内存变得非常快速,服务器开始performance不佳。 我是新来的这个angular色,我的前任提到,这是由于应用程序中的代码没有被正确写入,它把所有的内存都logging下来了……这是公平的,但是我想知道是否有任何事情可以做减轻或消除这个目前的解决scheme,直到代码被改进是多周的tomcat重启,这在我看来感觉像是一个矫枉过正的! (没有双关语意) 下面是在tomcat需要被杀死和重新启动之前的htop的输出(这是另一件事,大多数时候tomcat不能被要求礼貌地退出,你必须杀死它-9,不知道这是否正常) 我查了一些资源,但没有find具体的东西可以排除我的问题,所以任何好的专业知识都会受到欢迎! 我已经包含了一张图片,你可以看到这个过程似乎重复了好几次,但是并没有像一些人所说的那样使用超过300个的记忆体,而只有7个演出,并不完全确定这意味着什么。 其实这可能是一个问题,如果你做ps你只能看到下面的过程: root 5215 3.4 64.8 8310716 5301436 ? Sl Nov04 146:25 /usr/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.awt.headless=true -Xms5G -Xmx5G -XX:PermSize=512m -XX:MaxPermSize=512m -XX:NewSize=1G -XX:MaxNewSize=1G -Duser.langua 无论如何回到我的观点,它太重载了太容易,任何方式来防止这个在Tomcat版本7.0.28? 这是server.xml <?xml version='1.0' encoding='utf-8'?> <Server port="8105" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.core.JasperListener" /> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> <GlobalNamingResources> <Environment name="databasePlaceHolder" type="java.lang.String" value="com_xxx_yyy_au"/> <Environment name="com.xxx.databasename" […]

Nginx + Tomcat proxyName更多的代理

我想为nginx代理的两个域(jira.firstdomain.com,jira.seconddomain.com)configurationtomcat的proxyName。 所以对于第一个域我在nginx中有这个configuration upstream jira { server 127.0.0.1:8080; } proxy_cache_path /var/run/nginx-cache levels=1:2 keys_zone=nginx-cache:50m max_size=50m inactive=1440m; proxy_temp_path /var/run/nginx-cache/tmp; server { server_name jira.firstdomain.com; listen 80; access_log /var/log/nginx/jira.log combined; location / { proxy_set_header Host $host; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8080; proxy_set_header Authorization ""; set $do_not_cache 0; if ($request_uri ~* ^(/secure/admin|/plugins|/secure/project)) […]

Apache的httpd,Tomcat:负载平衡似乎在两个tomcat之间工作,但一停止,服务死亡

我正在处理一个任务,在这个任务中,我必须对两个tomcat实例进行负载平衡,以便它们之间也可以共享一个公共会话,当其中一个发生故障时,另一个可以处理任务。 第一个任务似乎在两个Tomcat版本都在线时工作,那么似乎没有问题。 我不知道如何检测哪个用户来自哪个tomcat,所以我可以看到来自其他tomcat的用户是否正在聊天,然后session-id被正确共享。 我面对的第二个问题是,如果一个tomcat出现故障,另一个tomcat实例应该继续运行并提供正在进行的请求,但这不会发生。 只要有一个Apache Tomcat实例出现故障,我就得到一个503服务不可用。 请让我知道如何解决这个问题,并testing哪个用户是从哪个tomcat实例。 进行的更改:sites-enabled / 000-default: <Proxy balancer://mycluster> BalancerMember ajp://localhost:8010 route=jvmroute-first connectiontimeout=10 BalancerMember ajp://localhost:8011 route=jvmroute-second connectiontimeout=10 ProxySet stickysession=JSESSIONID Order Deny,Allow Deny from none Allow from all </Proxy> <VirtualHost *:80> ProxyPass / balancer://mycluster/ ProxyPassReverse / balancer://mycluster/ </VirtualHost> 第一个tomcat的server.xml: <Connector port="8080" proxyPort="80" protocol="HTTP/1.1" compression="force" compressionMinSize="1024" connectionTimeout="20000" redirectPort="443" URIEncoding="utf-8" compressableMimeType="text/html,text/xml,text/plain,text/css,text/ javascript,application/x-javascript,application/javascript"/> <Connector port="443" protocol="HTTP/1.1" […]

为Web应用程序添加一个别名,以便通过两个上下文根进行工作

我使用Tomcat来托pipe几个Web应用程序。 他们都在各自的背景下运行。 我们打电话给他们: A: https://example.com/A B: https://example.com/B 我没有在/ (根)运行。 我想从/可以访问应用程序“A”,但由于历史原因(现有的应用程序尚未更新),我需要保持它在/A运行。 什么是最好的方法来做到这一点? 我试图在webapps目录中添加一个从ROOT到A的符号链接,但Tomcat最终加载了两次应用程序。 我不能只有同一个应用程序的两个正在运行的实例 – 我们需要一个可以从/A和/访问的单个实例。 此外,请注意,我们有移动应用程序和自定义脚本都使用这个应用程序,所以纯HTMLredirect将无法正常工作。

在Opeats上启用Tomcat中的x509身份validation

我在Openshift上运行的Tomcat 7上部署了一个Web应用程序。 我设法启用服务器上的HTTP到HTTPSredirect( 指令 )。 我没有有效的证书。 所以我必须使用原始的URL https://foo-bar.rhcloud.com (没有客户的URL)。 现在我想在我的应用程序中启用x509身份validation。 我知道如何在我的本地机器上使用Tomcat。 但在Openshift上的应用程序的HTTPS连接器被注释掉了。 我试图添加<login-config>到web.xml,但它没有工作(它没有问我的客户端证书)。 这是web.xmlconfiguration: <security-constraint> <web-resource-collection> <web-resource-name>HTTPSOnly</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint> <login-config> <auth-method>CLIENT-CERT</auth-method> </login-config> 问题: 1.如何启用x509身份validation? 2.由于我没有有效的客户端证书,我如何指定Tomcat的可信密钥库? 提前致谢。