I was going to ask on the main SO boards, but figured this place would be more appropriate.
I am wanting to use cloudflare on my main website and then use nginx
to reverse proxy a directory to my websocket
gameserver.
NGINX server block:
location /Fonzy/ {
proxy_pass http://websocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
Upstream block:
upstream websocket {
least_conn;
server GAMESERVERIPHERE:9300;
}
My question is, since the cloudflare site will be a different server than my gameserver, will the upstream still work? Or does the upstream block server have to be a local address?
The reason why I am curious is because I am wanting the "protection" from cloudflare, but still want to have my gameserver hidden (or should I say reverse proxied).
Best Answer
Yes, Nginx to proxy to multiple backends based on the
location
.In your case there is little value in using the
upstream
module which useful when you have mutiple backends for the same app. In your case, a basicproxy_pass
call should do: