我正在构build一个基于Spark mini-framework( http://sparkjava.com/ )的API, 每当我通过Maven构build一个包,然后上传到Tomcat 7下的webapps /文件夹。 (真实姓名已被replace为TestProject,以避免泄露任何propriary) 如果我编译该项目并将其命名为TestProject.war,则会加载以下信息: path :/ TestProject 版本 : 没有指定 打开http:// localhost:8080 / TestProject / I后,得到预期的输出: {“code”:400,“message”:“授权信息未在请求中指定”} 如果我然后将文件重命名为TestProject ## 0.0.1-SNAPSHOT_20160308.161909.war并重新启动Tomcat,应用程序将加载以下详细信息: path :/ TestProject 版本 :0.0.1-SNAPSHOT_20160308.161909 不幸的是,当打开相同的URL时,Tomcat返回404: HTTP状态404 – / 键入状态报告 消息 / 说明请求的资源不可用。 阿帕奇 Tomcat的/ 7.0.67 $ cat web.xml <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > […]
我目前正在部署运行Ubuntu 14.04的云服务器实例。 我已经安装了LAMP堆栈以及Tomcat 7服务器。 我想从这个服务器运行一个基于Java的应用程序,因此任何请求到我的服务器,即www.example.com/app,应该加载我的应用程序。 但是,现在已经有10个小时了,我仍然收到500个内部服务器错误。 位于/etc/apache2/sites-available/000-default.conf中的默认虚拟主机文件是: <VirtualHost *:80> ServerName example.com ServerAlias www.example.com ServerAdmin user@postmaster DocumentRoot /var/www/html <Proxy *> Require all granted AddDefaultCharset Off Order deny,allow Allow from all </Proxy> ProxyRequests Off ProxyPass /app ajp://localhost:8009/app/ ProxyPassReverse /app ajp://localhost:8009/app/ ErrorLog /var/log/apache2/ajp.error.log CustomLog /var/log/apache2/ajp.log combined </VirtualHost> 当我直接到我的应用程序example.com:8080显示正常。 我错过了什么吗? 我读了很多,我必须启用代理和proxy_http,我可以确认他们都加载。 我错过了什么吗? 这可能是一个权限问题? 我希望这有助于知道我从二进制安装Tomcat,而不是使用aptitude。 我觉得这样pipe理更容易。 我是Linux服务器pipe理的新手,我感谢任何人的帮助。 谢谢!
我正在尝试configurationTomcat7的serer.xml <Host appBase="webapps/testweb" name="trythis.test.com" unpackWARs="true" autoDeploy="true"> <Context docBase="." path="" reloadable="false"> <Environment name="WEB_APP_PROPERTIES" type="java.lang.String" value="\\10.120.13.200\config"/> </Context> </Host> 即使这个configuration文件夹可以通过networking访问我的Tomcat无法访问它: 我错了吗?
我们已经在ec2上安装了Tomcat 7.0.64,而不使用tomcat ami,也就是自己动手。 它运行良好,但没有明显的原因,tomcat偶尔优雅地closures没有明显的原因。 该实例继续运行,只是tomcat停止,日志中的最后几行表明它已经被命令这样做。 Jun 30, 2016 9:36:53 PM org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["http-bio-8080"] Jun 30, 2016 9:36:53 PM org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["ajp-bio-8009"] Jun 30, 2016 9:36:53 PM org.apache.catalina.core.StandardService stopInternal INFO: Stopping service Catalina Jun 30, 2016 9:36:53 PM org.apache.coyote.AbstractProtocol stop INFO: Stopping ProtocolHandler ["http-bio-8080"] Jun 30, 2016 9:36:53 PM org.apache.coyote.AbstractProtocol […]
目前我正在使用tomcat 7来托pipe两个网站。 为此,我只需使用host-manager ( tomcat7-admin一部分)创build两个虚拟主机。 但是,当我重新启动服务器,主机似乎消失,不重新加载。 每个方面的网站的Web应用程序停留在那里,但主机不加载英寸有人知道为什么发生这种情况,可以做什么来保持主机的持久性? 谢谢
我有一台装有操作系统(Windows 7)的机器,在端口8080,8081和8082上有三个Tomcat 7实例。我在端口88上安装了Apache 2.4,我想用它作为Tomcat的三个实例的负载平衡器。 请,我想要非常详细的说明,因为我尝试了一次以上,但是我失败了。 提前致谢。 我的httpd.conf文件: # # This is the main Apache HTTP server configuration file. It contains the # configuration directives that give the server its instructions. # See <URL:http://httpd.apache.org/docs/2.4/> for detailed information. # In particular, see # <URL:http://httpd.apache.org/docs/2.4/mod/directives.html> # for a discussion of each configuration directive. # # Do NOT simply […]
我正在使用Ubuntu 14.04和Tomcat7。 出于某种原因,我需要将java-7升级到java-8。 所以我安装了openjdk-8,并使用update-alternatives –config java命令将其设置为默认值。 令我惊讶的是,tomcat仍然使用java7。 为了解决这个问题,我修改了/usr/share/tomcat7/bin/setenv.sh文件并添加了下面一行。 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ 现在tomcat7正在使用java-8,但由于在setenv.sh文件中进行了上述修改,我无法使用service tomcat7 stop停止tomcat服务器。 它显示[OK]消息,但tomcat进程仍在运行。 有什么build议么 ? 编辑1 :我也注意到, service tomcat7 start是启动tomcat服务器,但打印在控制台上的文本下面。 * Starting Tomcat servlet engine tomcat7 [fail] 编辑2 :我已经在setenv.sh中设置JAVA_HOME(指向Java8),然后服务不工作,但是当我从setenv.sh中删除JAVA_HOME,并把它放在catalina.sh然后一切都按预期工作。
我有2个服务器运行两个Tomcat实例(一个用于RC的Tomcat实例,一个用于生产)。 这些服务器(我们称之为server1和server2)设置在F5负载平衡器后面,以保持正常运行,并提供SSL支持。 当有人去server1:8081时,他们得到服务器1上的第二个tomcat的欢迎屏幕(server1:8080将给第一个实例)。 当连接到服务器:8443,其中去到server1:8081和server2:8081的F5负载平衡URL,我也将获得侦听端口8081的该实例的Tomcat欢迎屏幕。但是,当去服务器:8443 /应用程序/,我得到一个错误,wireshark数据包捕获显示redirect到server1端口8080.我很遗憾redirect到端口8080来自,我没有任何redirect在我的server.xml为那个tomcat实例基础configuration。 任何人有任何想法,如果可能在.war文件编译期间,实际的应用程序可能已拉入端口redirect?
我目前正在尝试修复网站漏洞,基本上这是一种“不正确的input处理”攻击。 假设我的网站是www.mywebsite.com ,黑客的网站是www.hacker.com 每当有请求发送到www.mywebsite.com与修改“ Host ”标题指向www.hacker.com ,我的网站将创build一个redirect到www.mywebsite.com以及无论它的url。 例如 正常: Host: www.mywebsite.com GET www.mywebsite.com/get/some/resources/ Reponse 200 ok 哈克: Host: www.hacker.com (#been manually modified) GET www.mywebsite.com/get/some/resources/ Response 302 Send another Redirect to www.hacker.com/get/some/resources 我的网站运行在Tomcat 7上,我尝试了一些解决scheme,通过将未知主机指向defaultlocalhost主机来设置虚拟主机。 但是由于某种原因它仍然发送redirect。 这里附上的是我的server.xml主机configuration: <Engine name="Catalina" defaultHost="defaultlocalhost" jvmRoute="jvm1"> <Host name="www.mywebsite.com" appBase="webapps" unpackWARs="true" autoDeploy="false" deployOnStartup="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" […]
我已经按照goDaddy网站上给出的信息获取SSL证书并安装它,但不成功。 我创build了密钥库: keytool -keysize 2048 -genkey -alias tomcat -keyalg RSA -keystore D:\certificates\tomcat.keystore 产生了CSR: keytool -certreq -keyalg RSA -alias tomcat -file D:\certificates\bimacsr.csr -keystore D:\certificates\tomcat.keystore 在goDaddy网站上传CSR后,下载的证书下载到一个包含3个以下文件的zip文件中 – gd_bundle-g2-g1.crt gdig2.crt.pem 1c1f16606d7eadb7.crt 然后使用下面的三行安装并将证书导入到密钥库: keytool -import -alias root -keystore D:\certificates\tomcat.keystore -trustcacerts -file D:\certificates\gd_bundle-g2-g1.crt keytool -import -alias intermed -keystore D:\certificates\tomcat.keystore -trustcacerts -file D:\certificates\gdig2.crt.pem keytool -import -alias tomcat -keystore D:\certificates\tomcat.keystore -trustcacerts -file […]