Search code examples
socketsnginxwebsocketws

Nginx Config for ws://<ip>:<port>


I have a domain i call it <domain> and ip call <ip> and port <my-local-port>, i wan't using nginx on my server (dns binded to my server success), my problem is that reverse proxy ws:// protocole to my server i send my request in two link:

  • https://<ip>:<my-local-port>

  • ws://<ip>:<my-local-port>

for https i configurate nginx as:

server {
      listen       443;
      server_name  <domain>    www.<domain> ;

      location / {
        proxy_pass       http://localhost:<my-local-port>;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
      }
}

i bind https://<domain> into my local port <my-local-port>.

how can i bind ws://<domain> into local port <my-local-port> ?


Solution

  • This configuration worked for me:

    server {
            listen       443;
            server_name  <domain>    www.<domain> ;  
    
            location / {
                    proxy_pass http://127.0.0.1:<my-local-port>;
                    proxy_http_version 1.1;
                    proxy_set_header Upgrade $http_upgrade;
                    proxy_set_header Connection "upgrade";
                    proxy_set_header Host $host;
                    proxy_cache_bypass $http_upgrade;          
            }
    }