gpt4 book ai didi

security - Firefox 无法与 WSS 建立连接

转载 作者:行者123 更新时间:2023-12-03 17:35:18 28 4
gpt4 key购买 nike

我有一个带有 Spring Boot Websockets 的 websocket 服务器主机。 Safari、Chrome 和 Edge 可以连接,但 Firefox 不能。错误:

Firefox kann keine Verbindung zu dem Server unter wss://MY_DOMAIN/growth-websocket/933/omw002tp/websocket aufbauen.



(= "Firefox 无法在 wss://...处建立到服务器的连接")

我正在用 Apache 代理 WebSockets:
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
RewriteRule .* ws://localhost:4567%{REQUEST_URI} [P]

谢谢你的帮助!

最佳答案

我在我的 Docker OIDC proxy 上得到了这个经过几次尝试。棘手的一点是当 websockets 和普通 HTTP 的代理 URI 相同时允许它工作。如果它是不同的,我们可以简单地拥有另一个 ProxyPass/ProxyPassReverse在它之前的组合。
为了支持这一点,Rewrite引擎用于检测 UpgradeConntextion header 已设置,如果是,则相应地代理。第二个棘手的问题 [虽然我不知道为什么] 是把它放在 ProxyPass 之后和 ProxyPassReverse指令。
这是来自 https://github.com/trajano/docker-oidc-proxy/blob/master/oidc-proxy.conf 的代码在上下文中

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
LoadModule rewrite_module modules/mod_rewrite.so

...

ProxyPass "/" "http://${SERVICE_NAME}:${SERVICE_PORT}/"
ProxyPassReverse "/" "http://${SERVICE_NAME}:${SERVICE_PORT}/"

ProxyPreserveHost On
ProxyVia On

RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
RewriteRule .* ws://${SERVICE_NAME}:${SERVICE_PORT}%{REQUEST_URI} [P]
我能够使用使用 Web 套接字的 Jupyter 笔记本服务器成功验证这一点。

关于security - Firefox 无法与 WSS 建立连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45469448/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com