goaccess: Web access returns 400 Invalid Request
Running the following docker run -p 7890:7890 -v "/mnt/user/appdata/goaccess/data":"/srv/data":rw -v "/mnt/user/appdata/goaccess/html":"/srv/report":rw -v "/mnt/user/appdata/letsencrypt/log/nginx":"/srv/logs":ro allinurl/goaccess goaccess /srv/logs/access.log -o report.html --real-time-html --no-global-config --config-file=/srv/data/goaccess.conf
parses the access log and returns WebSocket server ready to accept new client connections
.
Unfortunately accessing the the front-end results in an empty page, curl confirms:
# curl http://localhost:7890/ -vvvv
* Trying localhost...
* TCP_NODELAY set
* Connected to localhost (localhost) port 7890 (#0)
> GET / HTTP/1.1
> Host: localhost:7890
> User-Agent: curl/7.57.0
> Accept: */*
>
< HTTP/1.1 400 Invalid Request
* no chunk, no close, no size. Assume close to signal end
<
* Closing connection 0
Using different ports for the front-end and the WebSocket server (--ws-url=0.0.0.0:7891 --port=7890
)produces the same result.
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Reactions: 1
- Comments: 35 (11 by maintainers)
@allinurl I just experienced this issue as well. I believe it occurs when the total size of the request is larger than 1024 bytes, which is likely to happen if you have several cookies already set for the domain.
As such, a request of 1025 bytes (note
printf '%820s'
) returns 400:While a request of 1024 bytes (note
printf '%819s'
) returns 101:That’s right. You need to serve the HTML report through a web server, e.g., nginx, apache, etc. or open the HTML file via your browser (Ctrl+o), i.e.,
file:///srv/report/report.html
. You can find more details here.Did you ever find a solution to this? I’m seeing it now.