-
Notifications
You must be signed in to change notification settings - Fork 103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WebSocket test #881
Comments
Closed
It seams that there are not so many http/2 websocket clients. Only modern browsers are prominent wide-spread clients. For example:
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Need to develop a functional test for Tempesta FW websockets (#755). Python websockets can be used for both the client and server sides. However, it seems all Python websockets libraries (also websocket-client) depend on Python 3, so the issue is blocked by migration of our testing framework to Python3.
Following tests for HTTP/1
and HTTP/2client must be done (UPD it seems the modern HTTP/2 applications prefer SSE over WebSockets, so it's hard to find an HTTP/2 WebSocket client):HTTP tables rules to load balance websockets traffic byWe have other HTTPtable tests and it seems there is nothing special about websocketsHost
orConnection: upgrade
headersUpgrade
header. Error responses for invalid client upgrade requests still can be cached(scheduler stress test) we have stress tests for the schedulers, at least https://github.com/tempesta-tech/tempesta-test/blob/master/sched/test_hash_stress.py , so we need a similar tests for this and other schedulers to make sure that we can normally create a websocket under high scheduler loadThe test case seems covered by the previous test.wss://
Tempesta FW doesn't have client side TLS (#769 ) yet. However, websockets have nothing about TLS and just use the same upgrade scheme for both ws:// and wss:// . In the default scheme a client connects Tempesta on HTTPS and Tempesta has plain HTTP connection to the backend, which leads to wss:// between the client and Tempesta and ws:// between Tempesta and the backend server.
One wishing to have wss:// to the backend should use an additional HTTPS server, e.g. Nginx or HAproxy, supporting client side TLS. Tempesta FW config must specify the server (typically running on the same host with Tempesta FW) as the backend server.
The text was updated successfully, but these errors were encountered: