我打算问主要的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中获得“保护”,但是仍然希望隐藏我的游戏服务器(或者我应该说是反向代理)。
是的,Nginx根据location代理多个后端。
在你的情况下,使用upstream模块是没有用的,当你有相同的应用程序的多个后端有用。 在你的情况下,一个基本的proxy_pass调用应该这样做:
proxy_pass http://GAMESERVERIPHERE:9300