首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wildfly的Configuration GZip

Wildfly的Configuration GZip
EN

Stack Overflow用户
提问于 2015-03-12 03:57:29
回答 3查看 10.6K关注 0票数 14

在我的Wildfly服务器上使用以下配置时,我遇到了配置GZip的问题:

代码语言:javascript
复制
<subsystem xmlns="urn:jboss:domain:undertow:1.2">
        <buffer-cache name="default"/>
        <server name="default-server">
            <http-listener name="default" socket-binding="http"/>
            <host name="default-host" alias="localhost">
                <location name="/" handler="welcome-content"/>
                <filter-ref name="gzipFilter" predicate="path-suffix['.css'] or path-suffix['.js'] or path-suffix['.xhtml']"/>
                <filter-ref name="server-header"/>
                <filter-ref name="x-powered-by-header"/>
            </host>
        </server>
        <servlet-container name="default">
            <jsp-config/>
            <websockets/>
        </servlet-container>
        <handlers>
            <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
        </handlers>
        <filters>
            <response-header name="server-header" header-name="Server" header-value="Wildfly 8"/>
            <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow 1"/>
            <gzip name="gzipFilter"/>
        </filters>
    </subsystem>

并成为正确的Zip文件的请求,但是我想设置最小大小的文件被压缩,我的困难是,谁知道如何设置服务器的最小大小做压缩之前,他们发送给客户?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-26 18:23:05

根据Alexander的回答,我做了一些测试。奇怪的是,只压缩大于500字节的文件的谓词是not min-content-size[500]

要使用jboss-cli.sh对其进行配置,请运行以下脚本:

代码语言:javascript
复制
/subsystem=undertow/configuration=filter/gzip=gzipFilter:add()
/subsystem=undertow/server=default-server/host=default-host/\
   filter-ref=gzipFilter:add(predicate="not min-content-size[500]")

请注意,gzip过滤器将在服务器重新加载后开始工作。您可以使用cli的命令:reload来完成此操作。

要测试过滤器是否已启用,我使用:

代码语言:javascript
复制
wget $MY_URL -S --header="accept-encoding: gzip" \
  -O /dev/null 2>&1| grep Content-Encoding
票数 16
EN

Stack Overflow用户

发布于 2015-06-03 17:14:00

undertow min-content-size中有一个谓词,因此您可以使用predicate=min-content-size[500]

由于缺乏文档,我在这里找到了可用的谓词https://github.com/undertow-io/undertow/tree/master/core/src/main/java/io/undertow/predicate

票数 7
EN

Stack Overflow用户

发布于 2019-05-09 02:05:55

它与谓词一起工作:

代码语言:javascript
复制
predicate="exists['%{o,Content-Type}'] and regex[pattern='(?:application/javascript|text/css|text/html|text/xml|application/json)(;.*)?', value=%{o,Content-Type}, full-match=true]"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28996165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档