Monday, March 13, 2023

Re: Using gzip-static with httpd location

On 3/9/23 17:31, Joel Carnat wrote:
> Hi,
>
> I just tried applying gzip compression on a simple test web site using
> httpd and the gzip-static option ; using OpenBSD 7.2/amd64.
>
> As I understood the man page, gzip-static is supposed to be used
> inside the server block ; like listen, errdocs or tls. But doing so
> does not seem to enable gzip compression for files defined in a
> location block.
>
> What fails:
> server "default" {
>   listen on 127.0.0.1 port 80
>   gzip-static
>   block drop
>   location "/.well-known/acme-challenge/*" {
>     root "/acme"
>     request strip 2
>     pass
>   }
>   location "/www/*" {
>     root "/test"
>     request strip 1
>     pass
>   }
> }
>
> What works:
> server "default" {
>   listen on 127.0.0.1 port 80
>   block drop
>   location "/.well-known/acme-challenge/*" {
>     root "/acme"
>     request strip 2
>     pass
>   }
>   location "/www/*" {
>     gzip-static
>     root "/test"
>     request strip 1
>     pass
>   }
> }
>
> As you may see, what works is using gzip-static inside a location
> block and not outside. I've tested is using Firefox, curl and
> https://gtmetrix.com. All confirm gzip-static must be inside the
> location block to provide compressed resources.
>
> Here's an example of the curl command I used:
> # curl -I --compressed http://localhost:80/www/index.html
> HTTP/1.1 200 OK
> Connection: keep-alive
> Content-Encoding: gzip
> Content-Length: 1083
> Content-Type: text/html
> Date: Fri, 10 Mar 2023 01:27:53 GMT
> Last-Modified: Fri, 10 Mar 2023 00:53:26 GMT
> Server: OpenBSD httpd
>
> Is this an expected behaviour?
>
> Regards,
> Joel C.
>

Can confirm - I recently stumbled over this confusing behaviour as well.
Curious if this is a bug or a man page issue.

Regards,

Jordan

No comments:

Post a Comment