标签: tomcat

Tomcat 无法启动 - 如何检查端口 8080 未在使用中

Tomcat 不会启动,而且它之前运行得很好。我怀疑端口 8080 上正在运行其他东西。我运行的是 Windows Vista。我如何检查没有其他东西在使用端口 8080?

我最近下载了几个版本的 Jetty。这可能是问题吗?我没有同时运行它们,所以我不知道如何运行。

windows startup tomcat

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

我应该采取哪些步骤来保护 Tomcat 6.x?

我正在设置新的 Tomcat 部署,并希望它尽可能安全。

我创建了一个“jakarta”用户,并让 jsvc 作为守护进程运行 Tomcat。有关目录权限等的任何提示,以限制对 Tomcat 文件的访问?

我知道我需要删除默认的 web 应用程序 - 文档、示例等......我应该在这里使用任何最佳实践吗?所有的配置 XML 文件呢?有什么提示吗?

是否值得启用安全管理器以便 web 应用程序在沙箱中运行?有没有人有设置这个的经验?

我见过有人在 Apache 后面运行两个 Tomcat 实例的例子。似乎这可以使用 mod_jk 或使用 mod_proxy 来完成......任何优点/缺点?值得麻烦吗?

如果重要,操作系统是 Debian lenny。我没有使用 apt-get,因为 lenny 只提供 tomcat 5.5 而我们需要 6.x。

谢谢!

security linux debian tomcat

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

如何使用 logrotate 压缩和清理日志但不旋转它们

我有一个 Tomcat 服务器,它通过阀门(org.apache.catalina.valves.FastCommonAccessLogValve)创建访问日志。该阀负责轮换访问日志文件,但不会在一段时间后压缩或删除它们。

目前,我有一个find [...] -mtime +30 [...]用于压缩和删除日志的 cron 作业。我宁愿使用 logrotate,以便日志轮换位于所有日志的集中位置。我不喜欢只针对 Tomcat 的单独解决方案。

我试图阅读 logrotate 文档,但我仍然有点迷茫。我可以使用 logrotate 来压缩和清理日志文件吗?我该怎么做?

或者扭转问题,是否有 Tomcat 访问日志阀可以压缩和清理日志文件?

感谢您的帮助 !

tomcat logrotate

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

如何让 Tomcat AJP-Connectors 工作?

我想使用连接器通过 Apache-webserver 访问 Tomcat。我坚持使用文档:http : //tomcat.apache.org/connectors-doc/generic_howto/quick.html 我只是稍微修改了它以匹配我的 Debian-(Squeeze)-System 上使用的目录结构。

所以我在/etc/apache2/httpd.conf中添加了以下内容:

# Load mod_jk module
# Update this path to match your modules location
#LoadModule    jk_module  libexec/mod_jk.so
# Declare the module for <IfModule directive> (remove this line on Apache 2.x)
#AddModule     mod_jk.c
# Where to find workers.properties
# Update this path to match your conf directory location (put workers.properties next to httpd.conf)
JkWorkersFile /etc/apache2/workers.properties
# Where to put jk shared memory
# Update this path to match your local state …
Run Code Online (Sandbox Code Playgroud)

tomcat ajp apache-2.2

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

Keytool 服务器备用名称

我正在尝试获得适合我们内部 Jira/Confluence 部署的证书。人们通过主机名或 FQDN 以不同的方式访问它们。我正在使用 Java 7 的 keytool,因此我可以访问服务器备用名称功能:

-ext san=dns:jira
Run Code Online (Sandbox Code Playgroud)

……我把它交给……

jira.example.com
Run Code Online (Sandbox Code Playgroud)

...作为生成证书时的 CN。然后我生成一个签名请求,将 CSR 交给我们的 Win2k8r2 PKIcertreq以获取密钥签名并将密钥导入回密钥库。

现在,当我按照上面所说的进行设置时,我的浏览器(Chrome、Firefox、Safari)似乎认为这jira是唯一有效的名称,即使当我检查证书时 CN 显示 FQDN。

如果我删除ext它,它将使用作为 FQDN 的 CN。

当我有多个ext语句时,它只使用最后一个,并且我尝试DNS:foo在一个ext条目下将多个字符串与各种标点符号一起使用。

我遇到的另一个角度是设置 Web 服务器对 FQDN 执行 301。我对此也很好,但我坚持使用 Tomcat,所以“切换到 Apache/nginx”对我不起作用。似乎是我遇到的唯一一个用 Tomcat 做类似事情的文档,但它已经 3 岁了,对我来说已经结束了。他们是否已将该功能添加到 Tomcat6?

tomcat ssl-certificate fqdn jira keytool

10
推荐指数
2
解决办法
4万
查看次数

让 Tomcat 使用 X-Real-IP

我在 Tomcat 7 前面将 nginx 配置为反向代理。我在 nginx 配置中添加了以下几行:

set_real_ip_from 127.0.0.1;
...
location / {
    proxy_pass http://tomcat;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Run Code Online (Sandbox Code Playgroud)

但是,我仍然在 Tomcat 日志中看到以下图片:

127.0.0.1 - - [10/Jun/2013:11:25:48 +0600] "GET /app/welcome;jsessionid=6C1B02376C5F748C509B28FC7CE416C9 HTTP/1.0" 200 10571
127.0.0.1 - - [10/Jun/2013:11:25:48 +0600] "GET /app/welcome;jsessionid=0BBE0174C1F0E94FDF49610144E809D3 HTTP/1.0" 200 10571
127.0.0.1 - - [10/Jun/2013:11:25:48 +0600] "GET /app/welcome;jsessionid=AD48005AD453F3A0BE46F1AC978F145D HTTP/1.0" 200 10571
Run Code Online (Sandbox Code Playgroud)

有没有办法强制 Tomcat 使用 X-Real-IP 标头(并将其写入日志文件)而不修改Web 应用程序?

tomcat nginx

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

mod_proxy_ajp (70007)指定的超时时间已过期:ajp_ilink_receive()无法接收报头

我在 Tomcat 中使用 mod_proxy_ajp 并且收到以下错误:

(70007) 指定的超时已过期:ajp_ilink_receive() 无法接收标头

我该如何解决?

tomcat timeout mod-proxy-ajp apache-2.2

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

Tomcat Parallel Deployment,自动卸载旧应用

一段时间以来,我一直在使用 Tomcat 8 的并行部署作为零停机持续部署设置的一部分。

运行测试手套后,CI 服务器自动将 .war 文件重命名为 application##{version-number}.war 并将 war 复制到 /webapp 文件夹。application##333 将与 application##332 很好地共存。

我遇到的唯一问题是,一旦所有流量(新会话)自动转换到新应用程序,我就必须手动取消部署旧应用程序。

Tomcat 是否有一些内置机制可以说“嘿,当这个服务减少到零会话时,它应该被删除”?也许我可以利用某种“最后一次会议刚刚过期”的事件。

如果其他人已经自动取消部署这种应用程序,我很想听听。谢谢!

deployment tomcat continuous-integration

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

Tomcat 6.0 服务未启动:java/lang/NoClassDefFoundError

我在 Windows 服务器上安装了 Tomcat,但无法启动。我启动服务并看到进度条,但它失败了。

我安装了 Java 运行时环境版本 6 并创建了 JRE_HOME 环境变量。(C:\Program Files\Java\jre6)

以下是 jakarta_serviceYYYMMDD.log 条目:

[2010-04-08 14:22:42] [info] Commons Daemon procrun (1.0.2.0) started
[2010-04-08 14:22:42] [info] Running Service...
[2010-04-08 14:22:42] [info] Starting service...
[2010-04-08 14:22:42] [info] Error occurred during initialization of VM
[2010-04-08 14:22:42] [info] java/lang/NoClassDefFoundError
[2010-04-08 14:22:42] [info] : java/lang/Object
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

tomcat windows-xp java tomcat6

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

在 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万
查看次数