如何使用 Nginx 将 wss websocket 代理到 http 正向代理?

如何使用 Nginx 将 wss websocket 代理到 http 正向代理?

我需要将wsswebsocket 流量从客户端转发到内部转发代理(使用 http 和身份验证),然后再转发到外部服务器。使用 Nginx 可以实现吗?如果可以,配置是什么样的?

我无法控制第二个代理,因此无法对其工作方式进行任何更改。

因此流程如下:

Client application (connects to `wss://example.com/api/path`) -> Nginx -> Proxy2 (uses http and basic auth) -> example.com

Nginx 可以实现这个吗?

答案1

是的,这是可能的。这是从工作配置中获取的……


                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "Upgrade";

                proxy_http_version      1.1;
                proxy_set_header        Host $host;
                proxy_ssl_server_name on;
                proxy_ssl_name $host;
                proxy_pass https://internal.example.com/

相关内容