使用 Cloudflare 对 Websocket 上游进行反向代理

使用 Cloudflare 对 Websocket 上游进行反向代理

我本来想在主 SO 论坛上提问,但觉得这个地方更合适。

我想在我的主网站上使用 cloudflare,然后使用nginx反向代理将目录到我的websocket游戏服务器。

NGINX 服务器块

    location /Fonzy/ {
                    proxy_pass http://websocket;
                    proxy_http_version 1.1;
                    proxy_set_header Upgrade $http_upgrade;
                    proxy_set_header Connection $connection_upgrade;
        }

上游块

upstream websocket {
        least_conn;
        server GAMESERVERIPHERE:9300;
    }

我的问题是,由于 cloudflare 网站与我的游戏服务器是不同的服务器,上游是否仍能工作?或者上游块服务器必须是本地地址?

我好奇的原因是我想要 cloudflare 的“保护”,但仍然希望隐藏我的游戏服务器(或者应该说反向代理)。

答案1

是的,Nginx 可以根据 来代理到多个后端location

在你的情况下,使用模块没有什么价值,upstream当你有多重同一应用程序的后端。对于你的情况,基本proxy_pass调用应该执行以下操作:

proxy_pass http://GAMESERVERIPHERE:9300

相关内容