启用server
模块,执行如下命令:
java -jar $JETTY_HOME/start.jar --add-modules=server
命令的输出,如下:
INFO : server initialized in ${jetty.base}/start.d/server.ini
INFO : Base directory was modified
查看server
模块的配置文件,执行如下命令:
cat $JETTY_BASE/start.d/server.ini
命令的输出,如下:
# ---------------------------------------
# Module: server
# Enables and configures the Jetty server.
# This module does not enable any network protocol support.
# To enable a specific network protocol such as HTTP/1.1, you must enable the correspondent Jetty module.
# ---------------------------------------
--modules=server
### Common HTTP configuration
## Scheme to use to build URIs for secure redirects
# jetty.httpConfig.secureScheme=https
## Port to use to build URIs for secure redirects
# jetty.httpConfig.securePort=8443
## Response content buffer size (in bytes)
# jetty.httpConfig.outputBufferSize=32768
## Max response content write length that is buffered (in bytes)
# jetty.httpConfig.outputAggregationSize=8192
## If HTTP/1.x persistent connections should be enabled
# jetty.httpConfig.persistentConnectionsEnabled=true
## Max request headers size (in bytes)
# jetty.httpConfig.requestHeaderSize=8192
## Max response headers size (in bytes)
# jetty.httpConfig.responseHeaderSize=8192
## Whether to send the Server: header
# jetty.httpConfig.sendServerVersion=true
## Whether to send the Date: header
# jetty.httpConfig.sendDateHeader=false
## Max per-connection header cache size (in nodes)
# jetty.httpConfig.headerCacheSize=1024
## Whether, for requests with content, delay dispatch until some content has arrived
# jetty.httpConfig.delayDispatchUntilContent=true
## Maximum number of error dispatches to prevent looping
# jetty.httpConfig.maxErrorDispatches=10
## Relative Redirect Locations allowed
# jetty.httpConfig.relativeRedirectAllowed=true
## Whether to use direct ByteBuffers for reading or writing
# jetty.httpConfig.useInputDirectByteBuffers=true
# jetty.httpConfig.useOutputDirectByteBuffers=true
## HTTP Compliance: RFC7230, RFC7230_LEGACY, RFC2616, RFC2616_LEGACY, LEGACY
# jetty.httpConfig.compliance=RFC7230
## URI Compliance: DEFAULT, LEGACY, RFC3986, RFC3986_UNAMBIGUOUS, UNSAFE
# jetty.httpConfig.uriCompliance=DEFAULT
## Cookie compliance mode for parsing request Cookie headers: RFC6265_STRICT, RFC6265, RFC6265_LEGACY, RFC2965, RFC2965_LEGACY
# jetty.httpConfig.requestCookieCompliance=RFC6265
## Cookie compliance mode for generating response Set-Cookie: RFC2965, RFC6265
# jetty.httpConfig.responseCookieCompliance=RFC6265
### Server configuration
## Whether ctrl+c on the console gracefully stops the Jetty server
# jetty.server.stopAtShutdown=true
## Timeout in ms to apply when stopping the server gracefully
# jetty.server.stopTimeout=5000
## Dump the state of the Jetty server, components, and webapps after startup
# jetty.server.dumpAfterStart=false
## The temporary directory used by the Jetty server and as a root for its contexts
# jetty.server.tempDirectory=
## Dump the state of the Jetty server, components, and webapps before shutdown
# jetty.server.dumpBeforeStop=false
### Server Scheduler Configuration
## The scheduler thread name, defaults to "Scheduler-{hashCode()}" if blank.
# jetty.scheduler.name=
## Whether the server scheduler threads are daemon.
# jetty.scheduler.daemon=false
## The number of server scheduler threads.
# jetty.scheduler.threads=1
## Whether the handlers of the ContextHandlerCollection can be updated once the server is started
## If set to false, then eeN-deploy module jetty.deploy.scanInterval should also be set to 0.
# jetty.server.contexts.dynamic=true
## Should the DefaultHandler serve the jetty favicon.ico from the root.
# jetty.server.default.serveFavIcon=true
## Should the DefaultHandler show a list of known contexts in a root 404 response.
# jetty.server.default.showContexts=true
各参数的说明,如下:
-
HTTP协议的常见参数
-
jetty.httpConfig.secureScheme
重定向时,安全通道使用的协议。默认值为https
。 -
jetty.httpConfig.securePort
重定向时,安全通道的监听端口。默认值为8443
。 -
jetty.httpConfig.outputBufferSize
响应消息的缓冲区容量,单位:字节。默认值为32768
。 -
jetty.httpConfig.outputAggregationSize
返回响应数据时,单次写操作的最大数据量,单位:字节。默认值为8192
。 -
jetty.httpConfig.persistentConnectionsEnabled
是否启用HTTP/1.x
中定义的HTTP链接保持特性。 -
jetty.httpConfig.requestHeaderSize
HTTP请求消息中头部的最大长度,单位:字节。默认值为8192
。 -
jetty.httpConfig.responseHeaderSize
HTTP响应消息中头部的最大长度,单位:字节。默认值为8192
。 -
jetty.httpConfig.sendServerVersion
是否在HTTP响应消息中增加头部Server
。默认值为true
。
如下为样例:HTTP/1.1 200 OK Content-Length: 0 Server: Jetty(12.0.6)
基于业务安全的考虑,通过不建议开启,即修改为
false
。 -
jetty.httpConfig.sendDateHeader
响应消息中,是否发送HTTP头部Date
字段。默认值为false
。 -
jetty.httpConfig.headerCacheSize
处理HTTP头部时的缓冲数据的大小,单位:字节,默认值为1024
。 -
jetty.httpConfig.delayDispatchUntilContent
收到消息体之后再分发请求对象,默认值为true
。 -
jetty.httpConfig.maxErrorDispatches
错误场景下分发次数的最大值,避免循环处理,默认值为10
。 -
jetty.httpConfig.relativeRedirectAllowed
是否允许重定向操作,默认值为true
。 -
jetty.httpConfig.useInputDirectByteBuffers
默认值为true
。 -
jetty.httpConfig.useOutputDirectByteBuffers
默认值为true
。
-
-
jetty.httpConfig.compliance
HTTP协议规范兼容性的选项,可选值如下:RFC7230
RFC7230_LEGACY
RFC2616
RFC2616_LEGACY
LEGACY
-
jetty.httpConfig.uriCompliance
URI规范的兼容性的选项,可选值如下:DEFAULT
LEGACY
RFC3986
RFC3986_UNAMBIGUOUS
UNSAFE
-
jetty.httpConfig.requestCookieCompliance
Cookie规范的兼容性的选项,可选值如下:RFC6265_STRICT
RFC6265
RFC6265_LEGACY
RFC2965
RFC2965_LEGACY
-
jetty.httpConfig.responseCookieCompliance
Cookie规范的兼容性的选项,可选值如下:RFC2965
RFC6265
-
jetty.server.stopAtShutdown
Jetty进程收到控制台发送的Ctrl+C时,优雅退出。默认值为true
。 -
jetty.server.stopTimeout
优雅退出时的超时值,单位:毫秒。默认值为5000
,即5
秒。 -
jetty.server.dumpAfterStart
启动结束后,输出Jetty进程的状态,组件等信息。 -
jetty.server.tempDirectory
Jetty进程运行期使用的临时目录。 -
jetty.server.dumpBeforeStop
Jetty进程退出前,输出Jetty进程的状态,组件等信息。 -
jetty.scheduler.name
-
jetty.scheduler.daemon
-
jetty.scheduler.threads
-
jetty.server.contexts.dynamic
-
jetty.server.default.serveFavIcon
-
jetty.server.default.showContexts