我在运行Ubuntu 16.04的AWS EC2机器上安装了Tomcat7。 我在端口8080上启动Tomcat7,并从同一台机器上telnet到本地主机8080,执行“GET /”并查看索引页面。 但是,当我从另一台机器telnet到它时,build立连接,我可以执行“GET /”,但是连接closures,没有响应。 我知道它连接到相同的服务器和服务,因为我可以在服务器上用netstat -anfind它。 如果我执行了一个无效的命令,例如“XYZZY /”,我得到了Tomcat的错误页面,并在日志中logging了一个条目。 但有效的命令不会返回任何响应,也不会显示在日志中。 之前我已经做过的事情发布在这里: 使用netstat -an来确保连接正如我所料。 移到端口8085,以确保它与端口没有冲突。 按照此处的build议应用setenv.sh设置强制使用IPv4( https://askubuntu.com/questions/567093/tomcat7-is-listening-port-but-not-processes-requests ) 应用setenv.sh设置使用这里build议的urandom( Tomcat7挂在部署应用程序 ) 那么如何让Tomcat7开始向远程客户端返回响应呢? server.xml(这是原始的8080,但我改变它来testing是否是端口冲突): <Connector port="8085" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" /> setenv.sh(根据以前听起来模糊的相似的问题的回答;强制使用熵和IPv4地址): JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true -Djava.security.egd=file:/dev/./urandom" 本地testing: xxx@xxx:~$ sudo /etc/init.d/tomcat7 restart [ ok ] Restarting tomcat7 (via systemctl): tomcat7.service. xxx@xxx:~$ telnet xxx 8085 Trying xxx… Connected […]
我有一个Tomcat8实例运行在Apache服务器后面,负责SSL卸载。 部署在Tomcat上的Java webapp需要连接到仅支持TLSv1.2的外部服务。 我添加了-Dhttps.protocols = TLSv1.2到Tomcat的setenv.sh。 但是我仍然看到Tomcat试图与TLSv1协商[2]作为支持最高的TLS版本,同时连接到外部服务。 所以,我最终得到错误[1],而连接。 我如何得到这个工作? 我需要更改Apache Web服务器上的任何configuration吗? PS:在我只有Tomcat8的本地机器上添加上面的标志(TLS升级到v1.2)。 [1] Caused by: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated at sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:421) at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128) at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:572) at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180) at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294) at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:641) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:480) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:1066) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:1044) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:1035) [2] %% No cached client session *** ClientHello, TLSv1 …. …. ajp-nio-8009-exec-10, READ: TLSv1.2 […]
我有一个非常基本的场景,我的Java Web应用程序(运行在Tomcat实例中)试图将文件保存在NFS服务器上。 出于某种原因,时不时我创build的文件为空,没有实际的权限与他们关联: ls -l ———- 1 tomcat7 admin 0 Jul 29 1975 resources.txt 我想这可能是一个广泛的范围,但没有实际的领导,我能够了解这一点。 有任何想法吗? 谢谢!
我的目标是使用mod_userdir来单独允许用户将java webapps放入其用户的public_html文件夹中。 我有Apache,mod_userdir和Tomcat安装和工作。 我有mod_jk安装,但不认为它的工作。 现在,如果我去的url,我需要到Apache的成功页面,如果我去[url] /〜[用户名]加载任何在用户的目录,如果我去[url]:8080它给tomcat页面,并执行java。 有人可以概述我需要采取的步骤才能使这个工作? 给可能的陷阱? 或者提供让我实现我的目标的另一种想法?
我维护一个使用3个Java servlet进行文件下载/上传和数据传输的GWT Web应用程序。 我有我的servlet映射的罪恶地方,并没有在几个月内触及他们,就在几天前,当我试图访问我的servlets时,我开始收到404错误。 我似乎甚至无法通过从WEB-INF / classes目录(即/ servlet / com / company / project / servletname)input完整path来访问servlet。 不幸的是,这些都是从一个共享的托pipe计划中运行的,我没有权限访问tomcat或者其他任何东西。 在我向托pipe服务提供者发出问题单之前,我只想检查一下我的关于servlet的假设是否正确,并查看是否有任何应对这种情况的步骤。 是否需要重新启动tomcat才能使用新的servlet上传到“WEB-INF / classes”目录? 是否需要重新启动tomcat才能读取对“WEB-INF”目录中web.xml的更改? 如果我把一个.class文件放在/WEB-INF/classes/foo/bar.class,我应该可以通过“ http://www.mydomain.com/servlet/foo/bar ”直接访问它,或者我需要不等待tomcat识别这个新的类文件? 还是必须将其包含在现有的web.xml servlet映射文件中? 谢谢你的帮助
由于某种原因,我每次停止使用httpd的第二个实例 /usr/sbin/httpd -f /otherplace/httpd.conf -k stop 我的一个或两个tomcat实例被杀死(从内存中取出),没有给出任何错误或跟踪发生的事情。 我使用下面的命令启动了第二个实例: /usr/sbin/httpd -f /otherplace/httpd.conf -k start 下面的细节: 我的Tomcat实例绑定到不同IP上的端口80。 httpd的第二个实例绑定到端口5634(没有任何绑定到这个端口)。 有tomcat的instaces,他们不会被杀害,就像一个随机的事情。 谢谢你的帮助。
您好我正在开发一个Web应用程序在Eclipse中,并使用与IDE集成的Tomcat服务器(6.0)。 我完全能够从本地或另一台计算机在局域网( http://192.168.0.2:8080/工作正常)和使用https://www.grc.com/x/portprobe=8080我可以访问webapp看到路由器和我的防火墙工作正常,端口是打开的。 但是我仍然无法访问我使用dyndns创build的URL。 它只是超时。 不能直接从whatsmyip使用我的IP,所以不是dyndns的问题 任何人都可以帮助我从外部局域网访问tomcat? 谢谢
为什么不是我的Jakarta连接器设置为Tomcat工作? 几乎每次我们要安装Jakarta Connector来运行IIS,都有不明原因的麻烦。 我张贴这个问题只是为了获得在一个地方收集的不同问题的答案。
我的客户端运行Tomcat 5.5并使用SSL。 他们的证书即将到期,他们已经购买了续约。 我被给了一个.cer文件,并要求更新Tomcat。 现有的server.xml包含以下连接器: <Connector port="443" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="companyname.keystore" keyAlias="tomcat2" /> 我运行了%JAVA_HOME%\bin\keytool -list -keystore companyname.keystore Keystore type: jks Keystore provider: SUN Your keystore contains 3 entries root, Aug 7, 2007, trustedCertEntry, Certificate fingerprint (MD5): 8F:5D:77:06:27:C4:98:3C:5B:93:78:E7:D7:7D:9B:CC tomcat, Jun 12, 2007, keyEntry, Certificate fingerprint (MD5): 33:80:6F:75:5A:B4:BC:C7:7A:7D:4F:3F:FA:C0:95:2F tomcat2, […]
所有, 在这个结束,我真的很感激任何指针。 我有一个与Tomcat 5.5.9和JRE 6更新13一起安装的系统。我的问题是有人来安装tomcat 6和JRE 5。 通过这个简单的动作,他们已经销毁了最初在机器上运行的应用程序。 我试图删除tomcat和java安装,并从我可以看到它已被删除。 我的问题,我现在试图重新安装oringinal应用程序,但是这个安装程序现在通过一个文件位置错误,不会重新安装安装程序的Apache部分。 任何人都可以build议任何隐藏的位置是Apache软件可能已经安装的组件。 这全部安装在Windows Server 2003 R2上。 非常感谢您的帮助。