问题标签 [embedded-tomcat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
534 浏览

spring-boot - 当我们在使用带有微服务的springboot时出现错误时如何隐藏嵌入式tomcat版本?

由于我们的 springboot 项目中有默认的 tomcat,因此无法在下面的 url 中设置。

https://www.inoks.com/hide-tomcat-version-from-the-error-message/ https://www.thegeekstuff.com/2013/08/hide-tomcat-version-number/

还尝试在 application.properties 中添加server.info=Application Server

但它不工作。

在此处输入图像描述

0 投票
0 回答
120 浏览

java - 嵌入式 Tomcat 中数据源的 JNDI 查找失败

我正在尝试实现应该运行我的 HelloWorld-Servlet 的 EmbeddedTomcat (10.0.4)。我使用的是纯 Java,没有 Spring 等。

虽然在启动时,它无法查找在我的 context.xml 中定义的数据源(Oracle DB):

应用程序无法通过 JNDI 查找获取数据源

我假设在我的嵌入式 Tomcat 中,不会加载 context.xml - 有没有办法将 context.xml 添加到我的嵌入式 Tomcat 中?

上下文.xml

web.xml

应用上下文监听器

嵌入式Tomcat

0 投票
0 回答
145 浏览

spring-boot - Spring Boot:StackOverflowError HttpServletRequestWrapper getUserPrincipal

在我们的生产日志中,我们得到了以下非常长的堆栈跟踪:

不幸的是,我无法在本地或测试中重现此行为。在堆栈跟踪中没有引用我们的应用程序代码。所以也许这是弹簧引导与嵌入式tomcat和华夫饼相结合的配置问题?目前我们正在结合使用 Spring Boot 2.4.4 和 Java 11 以及 Angular 10。

异常似乎也不是由用户交互直接引起的(检查访问日志)。我已经尝试了不同版本的框架,但没有成功。

有任何想法吗?

0 投票
2 回答
649 浏览

spring-boot - 下载大型 zip 文件时出现异常 ClientAbortException: java.io.IOException

我正在尝试从 rest API 下载大型 zip 文件,但得到

org.apache.catalina.connector.ClientAbortException:java.io.IOException:连接被对等方重置。

由于连接关闭 - 下载的 zip 文件已损坏,我无法打开它。我尝试设置超时属性,但没有运气。该服务还具有nginxapi 网关配置。

这是堆栈跟踪:

配置文件:

这是带有 Tomcat 嵌入式服务器版本 9.0.38 的 Spring。

0 投票
0 回答
20 浏览

apache - Apache 和嵌入式 Tomcat JAR 应用程序,如何调试

我有一个 Spring Boot JAR 应用程序设置,可以在带有 SSL 的 Apache 服务器上使用嵌入式 Tomcat 作为 JAR 运行。我遇到的问题是我的应用程序在端口 8010(必需)上运行,Apache 需要将所有对应用程序的调用从 8443 重定向到 8010。

我在 Apache2 设置文件中尝试了以下重定向永久/mywebpage http://localhost:8010/mywebpage/

我正在使用安装了 Tomcat 的 Ubuntu 20.4 和 Apache2。我不确定如何调试此环境并设置所需的端口转发设置。

需要发生的是

  1. 调用 https://server/mywebpage/
  2. 上面的调用应该命中 Apache 服务器并且 Apache 需要将请求发送到 http://localhost:8010/mywebpage/。
  3. 来自此的响应需要发送到身份验证服务器 https://author (works)
  4. https://author 和 http://localhost:8010/mywebpage/ 之间的流量应该通过 Apache 保留标头详细信息。

关于如何设置它的任何指示都会很棒!我不是系统管理员,但有一个本地 Virtual Box 设置来测试它。

0 投票
0 回答
158 浏览

java - 嵌入式 Tomcat,如何用嵌入式 Tomcat 的新逻辑替换用于标准 Tomcat 的现有 web.xml

鉴于现有web.xml

我已经添加:

并试图做:

但不工作。

服务器启动,但有几件事无法正常工作。localhost:8080导致错误页面。

也试过:

但这会导致错误,例如:

请注意,目前我是static void main从 Intellij 内部开始的。

这里的方法e()依赖于解析现有的 web.xml 文件,但这不起作用,并且似乎由于缺少类路径内容而失败。

第一种方法c()依赖于尝试复制配置,但我缺少尝试正确复制它的方法。

例如,我无法以相同的方式添加侦听器,并且无法配置例如参数。 session-config

第一个没有类路径问题并启动,但我认为有些事情,比如监听器没有正确设置,也没有触发他们的事件。

编辑1:

也许这是添加侦听器的方式,在c()

但是事情又开始了,但在tomcat中仍然出错。不确定 classpath: ... 在原始web.xml模仿中c()是否也被准确应用。

编辑2:

现在大部分事情都搞定了,但是 WebSockets(在代码中注释)没有被拾取,以及 HttpSessionListener 没有被触发。

web.xml您可以定义一个实现多个接口的侦听器,例如ServletContextListener, HttpSessionListener但使用嵌入式 Tomcat,这似乎不起作用。到目前为止,我也无法单独注册它们,但这应该是可能的。还是很烦。

我只是希望您可以将 web.xml 提供给它,它可以自行配置,就像独立的一样。我不明白为什么要这么难。

0 投票
0 回答
113 浏览

java - 如何从 Embeded Tomcat 9.0.41 中删除默认 Web 应用程序并删除未使用的连接器?

我的项目是使用嵌入式 Tomcat 和 Java Springboot 应用程序,客户要求 Tomcat 遵守强化指南以确保安全,其中包含以下内容,例如:

  1. 删除 Tomcat 中的默认 Web 应用程序
  • 平衡器(在 CATALINA_HOME/webapps 中)- 删除
  • jsp-examples(在 CATALINA_HOME/webapps 中)- 删除
  • ROOT(在 CATALINA_HOME/webapps 中) - 删除
  • sevlets-examples(在 CATALINA_HOME/webapps 中)- 删除
  • tomcat-docs(在 CATALINA_HOME/webapps 中)- 删除
  • Webdav(在 CATALINA_HOME/webapps 中)- 删除
  • 主机管理器(在 CATALINA_HOME/servers/webapps 中) - 如果不使用则删除
  • 管理器和主机管理器 XML 文件(在 CATALINA_HOME/conf/Catalina/localhost 中) - 如果不使用则删除
  1. 移除未使用的连接器
  • HTTP/1.1 端口 8080
  • SSL HTTP/1.1 端口 8443
  • JK/JK2 AJP 1.3 端口 8009
  • 代理 HTTP/1.1 端口 8082

在哪里可以找到嵌入式 Tomcat 服务器中的配置以实现合规性?我可以从哪里开始的任何想法?

如果您需要任何其他信息,请告诉我。提前致谢!补充一下,下面是我们如何在 java 应用程序 pom 文件中包含嵌入式 tomcat:

https://spring.io/blog/2014/03/07/deploying-spring-boot-applications

0 投票
0 回答
39 浏览

spring-boot - 如何以非特权用户身份运行嵌入式 Tomcat 并限制对 Tomcat 管理器和管理的访问

我的项目是使用嵌入式 Tomcat 9.0.41 和 Java Springboot 应用程序,客户要求 Tomcat 遵守强化指南以确保安全,其中包含以下内容,例如:

  1. 以非特权用户身份运行 Tomcat
  • 以非特权用户身份运行 Tomcat
  • 从特权组中删除 Tomcat 用户
  • 将Tomcat安装在与操作系统不同的目录中。
  1. 限制 Tomcat 管理器和管理应用程序
  • 限制 Tomcat 管理器(需要 Tomcat 管理器时适用),限制 Tomcat 管理器访问授权终端。要配置:在 /conf/catalina/localhost/manager.xml 下,添加以下行:<Valve className="org.apache.catalina.valves.RemoteAddrValve"allow="127.xxx"/>
  • 限制 Tomcat 管理(适用于需要 Tomcat 远程 Web 管理员) 限制 Tomcat 管理器对授权终端的访问。配置: 在 /conf/catalina/localhost/admin.xml 下,取消注释以下行(默认情况下在文件中找到): <Valve className="org.apache.catalina.valves.RemoteAddrValve"allow="127.xxx" />

任何人都可以建议如何为嵌入式 Tomcat 实现上述目标?如果您需要更多信息,请告诉我。谢谢!

0 投票
1 回答
238 浏览

spring-boot - 从 IntelliJ 社区版启动 springboot 应用程序

我们如何在 IntelliJ 社区版中启动 Spring Boot 应用程序。我没有看到这里包含嵌入式 tomcat。当我从 SpringBootApplication 注释类启动应用程序时,仅在记录器中获取以下消息

2021-06-23 20:02:45.933 INFO 1086 --- [main] rerRestapplicationApplication:在 Antonys-MBP.home 上使用 Java 11.0.11 启动 RestapplicationApplication,PID 为 1086(/Users/robin/Documents/work/workspace/restapplication/由 robin 在 /Users/robin/Documents/work/workspace/restapplication 中启动的目标/类)2021-06-23 20:02:45.938 INFO 1086 --- [main] rerRestapplicationApplication:没有活动配置文件集,回退到默认配置文件:默认 2021-06-23 20:02:48.342 INFO 1086 --- [main] rerRestapplicationApplication :在 3.621 秒内启动 RestapplicationApplication(JVM 运行 4.888)

请帮助我如何在 tomcat 中启动应用程序并在 IntelliJ 的社区编辑中进行测试

0 投票
1 回答
241 浏览

java - org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter 不能在 Struts 2 中使用嵌入式 Tomcat 转换为 javax.servlet.Filter

我有一个 Struts 2.5.5 网络应用程序。我想用集成的 Tomcat 运行它。我正在使用以下插件

我的pom.xml样子:

我的web.xml

我正在做一个 mvn cleam install 然后mvn tomcat7:run

但我收到以下错误: