Bug 59022 - No bytes in in mod_http2 acces log.
Summary: No bytes in in mod_http2 acces log.
Status: RESOLVED FIXED
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: mod_http2 (show other bugs)
Version: 2.4.18
Hardware: PC Linux
: P2 normal (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
URL:
Keywords:
Depends on:
Blocks: 62004
  Show dependency tree
 
Reported: 2016-02-17 20:54 UTC by Daan van Gorkum
Modified: 2018-01-16 10:19 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daan van Gorkum 2016-02-17 20:54:49 UTC
Hello all,

I'm running HTTPd 2.4.18 with mod_http2 and the nghttp2/1.7.1-DEV library and I don't see out/in bytes in my access log.

Example:
91.xx.xx.xx - - [17/Feb/2016:19:30:51 +0100] "GET /dl/video.mp4 HTTP/2" 200 0 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36"

Expected:
91.xx.xx.xx - - [17/Feb/2016:19:30:51 +0100] "GET /dl/video.mp4 HTTP/2" 200 1487172116 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36"

I'm using mod_logio's %O and %I to get the actual bytes sent and received and using HTTP/2 over SSL. 
HTTPd is build by me from source running on Debian 8.

Configure command:
./configure \
        --with-libxml2 \
        --enable-so \
        --enable-dav \
        --enable-dav-fs \
        --enable-dav-lock \
        --enable-suexec \
        --enable-deflate \
        --enable-unique-id \
        --enable-mods-static=most \
        --enable-mpms-shared=all \
        --enable-reqtimeout \
        --with-mpm=event \
        --with-included-apr \
        --with-pcre=/usr/bin/pcre-config \
        --enable-logio \
        --enable-ssl \
        --with-ssl=/usr/local \
        --enable-rewrite \
        --enable-proxy \
        --enable-expires \
        --enable-headers \
        --enable-mpms-shared=all \
        --disable-cgi \
        --disable-cgid \
        --enable-mime-magic \
        --enable-http2

Please let me know if you need more information.

Regards,
Daan
Comment 1 Daan van Gorkum 2016-02-17 20:56:35 UTC
Forgot to say that I can retrieve the file without issues and the response headers are correct:

accept-ranges:bytes
content-length:1456061558
content-type:video/mp4
date:Wed, 17 Feb 2016 20:37:57 GMT
etag:"56c9bc76-52bfb4b8ef900"
last-modified:Wed, 17 Feb 2016 18:19:48 GMT
server:Apache
status:200
Comment 2 Stefan Eissing 2016-02-29 12:03:26 UTC
Daan, you are correct. That issue has been identified in the meantime and a fix is available from the modules github page (https://github.com/icing/mod_h2) which lets you build a replacement module using an installed 2.4.18 apxs.

This will also make it into the next 2.4.x release, but has not landed in the subversion 2.4.x branch yet due to other dependencies.

Hope this works for you. Stefan
Comment 3 Daan van Gorkum 2016-02-29 13:13:44 UTC
Hello Stefan,

Thanks for the follow up!

I've rebuild httpd 2.4.18 without mod_h[ttp]2 support and build mod_h[ttp]2 shared using the httpd 2.4.18 apxs but I still have empty bytes.
I used the master branch from that git repo. Am I missing something? I don't see any commits regarding this issue.

Info:
# strings /usr/local/httpd24/modules/mod_http2.so | grep mod_http2_version -B1
1.2.6
  "mod_http2_version": "%s",

# /usr/local/httpd24/bin/apachectl -M | grep http2
 http2_module (shared)


Access logs (IPv4/6):
85.X.X.X - - [29/Feb/2016:14:09:10 +0100] "GET /wp-content/plugins/youtube-live-stream-auto-embed/assets/css/youtube-live-style.css HTTP/2" 200 0 "-" "curl/7.47.1"
2001:X:X:X:X - - [29/Feb/2016:14:09:21 +0100] "GET /wp-content/plugins/youtube-live-stream-auto-embed/assets/css/youtube-live-style.css HTTP/2" 200 0 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36"

Thanks!

Daan
Comment 4 Stefan Eissing 2016-02-29 13:35:38 UTC
Ah, my bad. That fix was done only in httpd trunk and did not make it into the github version - until now.

If you pull master again, you should get the fix. Hope this works for you and sorry about the confusion.
Comment 5 Daan van Gorkum 2016-02-29 13:53:21 UTC
Thanks! Works perfect:

85.X.X.X - - [29/Feb/2016:14:46:10 +0100] "GET /wp-content/plugins/youtube-live-stream-auto-embed/assets/css/youtube-live-style.css HTTP/2" 200 610 "-" "curl/7.47.1"
2001:X:X:X:X - - [29/Feb/2016:14:47:25 +0100] "GET /wp-content/plugins/youtube-live-stream-auto-embed/assets/css/youtube-live-style.css HTTP/2" 200 610 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36"

# strings /usr/local/httpd24/modules/mod_http2.so | grep mod_http2_version -B1
1.2.7
  "mod_http2_version": "%s",

I'll mark this as resolved, thanks for your support!