跳到主要內容

CentOS 6 安裝 Brotli HTTP 壓縮以取代 GZIP


  1. yum install httpd-devel
  2. git clone --depth=1 --recursive https://github.com/kjdev/apache-mod-brotli.git
  3. cd apache-mod-brotli
  4. ./autogen.sh && ./configure && make
  5. install -p -m 755 -D .libs/mod_brotli.so /etc/httpd/modules/mod_brotli.so
  6. cd /etc/httpd/conf.d
  7. echo "LoadModule brotli_module modules/mod_brotli.so" > brotli.conf
  8. vi brotli.conf,
  9. 加入以下


      # Compression
      ## BrotliCompressionLevel: 0-11 (default: 11)
      BrotliCompressionLevel 10

      ## BrotliWindowSize: 10-24 (default: 22)
      BrotliWindowSize 22
      # Specifies how to change the ETag header when the response is compressed
      ## BrotliAlterEtag: AddSuffix, NoChange, Remove (default: AddSuffix)

      BrotliAlterEtag AddSuffix


      # Logging
      # Filter note
      BrotliFilterNote Input  brotli_in
      BrotliFilterNote Output brotli_out
      BrotliFilterNote Ratio  brotli_ratio

      LogFormat '"%r" %{brotli_out}n/%{brotli_in}n (%{brotli_ratio}n)' brotli
      CustomLog logs/access_log brotli

      # Output filter
      AddOutputFilterByType BROTLI text/html text/plain text/css text/xml
      AddOutputFilterByType BROTLI text/css
      AddOutputFilterByType BROTLI application/x-javascript application/javascript
      AddOutputFilterByType BROTLI application/rss+xml
      AddOutputFilterByType BROTLI application/xml
      AddOutputFilterByType BROTLI application/json

      # Global output filer if necessary.
       SetOutputFilter BROTLI
      # SetEnvIfNoCase Request_URI \.txt$ no-br
       SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|txt)$ no-br



  • service httpd restart
  • apachectl -M | sort | grep "bro"
  • 留言

    這個網誌中的熱門文章

    解決Apache 2.2, 關於HTTPS 之下使用PROXY 面對的 proxy server received an invalid response from an upstream server 以及 proxy: pass request body failed 的問題

    修改以下 (proxy 以及 從proxy 接收的server): httpd.conf: ----------- 在 Include conf.d/*.conf 的前面加入以下: LimitRequestBody 2147483647  #2Gb Timeout 24000 ProxyTimeout 24000 ProxyBadHeader Ignore ssl.conf ---------- 在各個virtualhost 裡加入以下:     SSLEngine on     SSLProxyEngine on     SSLProxyVerify none     SSLProxyCheckPeerCN off     #SSLProxyCheckPeerName off     SSLProxyProtocol +SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2 以下這個只在proxy server 裡的virtualhost 設定     ProxyPass / https://REMOTE_HOST:443/ retry=1 acquire=3000 timeout=3600 Keepalive=On 

    解決CentOS 8 的 failed to set locale defaulting to c.utf-8 的問題

    這原因是沒有安裝好支援的語言與字型, 特別是UTF8 並沒有被安裝到 因此使用以下指令確認 localedef -i en_US -f UTF-8 en_US.UTF-8 假如出現 "[error] character map file `UTF-8' not found: No such file or directory" 或者 [error] default character map file 'ANSI_X3.4-1968' not found : No such file or directory 那就安裝UTF8 吧 yum whatprovides "*/UTF-8.gz" 如果找到的話 "UTF-8.gz" 的話 yum install "*/UTF-8.gz" -y 再執行一次: localedef -i en_US -f UTF-8 en_US.UTF-8