2017-01-14 4 views
0

Я хочу использовать Nginx для URL прокси как https://api.example.com/wss/... для многих nodejs серверов (Socket.io):Nginx прокси специальный URI для Socket.io

upstream websocket { 
     ip_hash;    
     server 127.0.0.1:8080; 
     server 127.0.0.1:8081; 
     server 127.0.0.1:8082; 
} 

location /wss/ 
     { 
      proxy_pass http://websocket; 
      proxy_http_version 1.1; 
      proxy_set_header Upgrade $http_upgrade; 
      proxy_set_header Connection "upgrade"; 
     } 

После этого, я хочу, чтобы присоединить свою службу как "wss://api.example.com/wss/" Но когда этот запрос серверу nodejs, он не будет запрашивать http://127.0.0.1:8080/, но http://127.0.0.1:8080/wss/, а socket.io не будет работать в этом URI. Как решить эту проблему?

+0

Попробуйте: proxy_pass http: // websocket /; '(с хвостом'/'). Подробнее см. [Этот документ] (http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass). –

ответ

0

Как @Richard Smith сказал в комментариях, он действительно работает!

Спасибо!