我本来想在主 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