https://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html
tuyên bố rõ ràng rằng việc ủy quyền một websocket cũng đơn giản như
ProxyPass "/ws2/" "ws://echo.websocket.org/"
nhưng không có vấn đề gì tôi làm tôi tiếp tục nhận được
==> /var/log/apache2/domain.com-access_log <==
192.168.240.1 - - [29/Mar/2022:20:46:40 +0000] "NHẬN /url-to-proxy/?query-stuff HTTP/1.1" 502 2554
==> /var/log/apache2/domain.com-error_log <==
[Thứ Ba ngày 29 tháng 3 20:46:40.096767 2022] [proxy:error] [pid 56] [client 192.168.240.1:54536] AH00898: Unexpected Upgrade: websocket (mong đợi không có) được trả về bởi /url-to-proxy/
$ cat /etc/os-phát hành
PRETTY_NAME="Debian GNU/Linux 11 (mắt bò)"
[…]
$ apache2 -v
Phiên bản máy chủ: Apache/2.4.51 (Debian)
Máy chủ được xây dựng: 2021-10-07T17:49:44
tôi đã theo dõi câu trả lời stackoverflow này
và sử dụng
Viết LạiEngine Trên
RewriteCond %{HTTP:Connection} Nâng cấp [NC]
#RewriteCond ổ cắm web %{HTTP:Upgrade} [NC]
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://127.0.0.1:3000/$1 [P,L]
Yêu cầu proxy tắt
#ProxyPass / http://127.0.0.1:3000/
ProxyPass /url-to-proxy/ http://127.0.0.1:3000/
#ProxyPass / ws://127.0.0.1:3000/
#ProxyPass /url-to-proxy/ ws://127.0.0.1:3000/
đã thử có/không có viết lại quy tắc
/Yêu cầu proxy tắt
/ProxyPassĐảo ngược
với 'http' hoặc 'ws' hoặc '/' hoặc '/url-to-proxy/' trong ProxyPass
nhưng tôi luôn gặp lỗi tương tự
điều này có thể liên quan: https://bz.Apache.org/ormszilla/show_orms.cgi?id=55598
Tôi muốn nghĩ rằng một lỗi từ năm 2016 đã được chuyển trở lại vào hình ảnh docker chỉ mới hai tháng tuổi ... (wordpress:5.8.3-php7.4-apache)