gpt4 book ai didi

web-applications - 在 jetty 中配置外部 webapp 的最大帖子大小

转载 作者:行者123 更新时间:2023-12-04 07:27:48 31 4
gpt4 key购买 nike

我的问题如下:

我提供了一个 webapp.war 和一个用于部署它的 Tomcat 服务器。

我的客户可以选择不使用我的服务器,而是使用将我的应用部署在 Jetty 中作为外部网络应用的服务。

该 Jetty 对默认的 POST 大小有限制 (200k),并且对于我的应用程序来说太小而无法正常运行其所有功能 - 我的 HTTP 1/1 POST 请求被截断并变得主要无法使用。

我需要做的是配置我的 web 应用程序,以便在作为外部应用程序部署在 Jetty 中时,它的最大 POST 大小是我选择的值 - 比如 1M。

我做了一些研究,我发现可以配置 jetty 以仅针对特定的 webapp 更改 POST 大小,但由于我不使用 Jetty,我还不清楚这个设置应该放在哪里以及有什么区别,来自从设置的角度来看,在 Jetty 中的外部 Web 应用程序和内部 Web 应用程序之间(路径除外)。


http://wiki.eclipse.org/Jetty/Howto/Configure_Form_Size#Changing_the_Maximum_Form_Size_for_All_Apps_on_a_Server


http://wiki.eclipse.org/Jetty_WTP_Plugin/Jetty_WTP_External_WebApp

我本来希望了解更多,但我对 Jetty 中的外部 Web 应用程序的研究并不是很偶然。

我尝试了 JVM 方法,将“org.eclipse.jetty.server.Request.maxFormContentSize”环境变量设置为 1000000,但我发现我的设置行为没有变化。

请求没有在 Tomcat 中被截断(它也在默认配置上运行),但到目前为止无论我采取什么措施来阻止这种情况发生,它在 Jetty 上都被截断了。

如果可以避免的话,我不应该更改 Jetty 服务器的全局设置,但即使我不得不在这方面做出妥协,我们也欢迎任何进展。

你们对我应该做什么有什么想法吗?

最佳答案

你可以

1) 将 org.eclipse.jetty.server.Request.maxFormContentSize 系统属性设置为您想要的值,启动 Jetty。

(这将为 JVM 中的所有应用设置所有计数)

 java  -Dorg.eclipse.jetty.server.Request.maxFormContentSize=99900000 -jar start.jar 

2) 更改单个 Webapp 的最大表单大小

ContextHandler.setMaxFormContentSize(int maxSize);

您可以在 Web 应用程序外部的上下文 XML 部署描述符中执行此操作,也可以在 Web 应用程序的 WEB-INF 目录中的 jetty-web.xml 文件中执行此操作。

无论哪种情况,XML 文件的语法都是相同的:

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- Max Form Size -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<Set name="maxFormContentSize">200000</Set>
</Configure>

3) 更改服务器上所有应用程序的最大表单大小

在要修改最大表单内容大小的服务器实例上设置一个属性:

<configure class="org.eclipse.jetty.server.Server">
<Call name="setAttribute">
<Arg>org.eclipse.jetty.server.Request.maxFormContentSize</Arg>
<Arg>200000</Arg>
</Call>
</configure>

source: jetty wiki

关于web-applications - 在 jetty 中配置外部 webapp 的最大帖子大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26181892/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com