-
-
Notifications
You must be signed in to change notification settings - Fork 622
Invalid Frame Header with Skipper reverse proxy and async_mode=aiohttp #300
Copy link
Copy link
Closed
Labels
Description
When using the aiohttp example from the examples folder and use Skipper as reverse proxy Chrome logs WebSocket connection to 'ws://localhost:8000/socket.io/?EIO=3&transport=websocket' failed: Invalid frame header' failed: Invalid frame header to the console.
The aiohttp example works with nginx and without any proxy.
The asgi example works with skipper, nginx and without any proxy.
A nodejs test server also works with skipper, nginx and without any proxy.
I am using transports: ['websocket'] to force the client to use websockets only
Versions used:
- pytohn 3.7.3 (also tested with paython 3.6.8)
- aiohttp 3.5.4
- python-engineio 3.5.2
- python-socketio 4.0.2
- skipper v0.10.216
How to reproduce:
- edit app.html to force websockets only. change line 10:
var socket = io.connect('http://' + document.domain + ':' + location.port + namespace, {
transports: ['websocket']
});
- run skipper with docker:
docker run --rm -it --network host registry.opensource.zalan.do/pathfinder/skipper:v0.10.216 skipper -experimental-upgrade -experimental-upgrade-audit -application-log-level DEBUG -address :8000 -inline-routes 'r: * -> "http://127.0.0.1:8080/"'
- run
python app.py - check console output from skipper (has websocket audit enabled) and chrome console for "invalid frame header" -> ws connection is dropped immediately after it has been established.
Reactions are currently unavailable