Maison >Opération et maintenance >Nginx >Comment configurer Nginx pour prendre en charge Websocket

Comment configurer Nginx pour prendre en charge Websocket

王林
王林avant
2023-05-17 21:28:135518parcourir

1. Compréhension du wss et du proxy nginx :

1. Le protocole wss est en fait websocket+SSL, ce qui signifie l'ajout d'une couche SSL au protocole websocket, similaire à https (http+SSL).

2. Utilisez nginx pour proxy wss [Principe et processus de communication]

  • Le client initie une connexion wss pour se connecter à nginx

  • Nginx transmet les données du protocole WSS au port de protocole WebSocket de Workerman et les convertit en protocole WS. data

  • Workerman effectue le traitement de la logique métier après avoir reçu les données

  • Lorsque Workerman envoie un message au client, c'est le processus inverse. Les données sont converties en protocole wss par nginx/puis envoyées au client

    .

2. Nginx prend en charge la configuration websocket

server {
      listen   80;
      server_name 域名;
      location / {
        proxy_pass   http://127.0.0.1:8080/; // 代理转发地址
     proxy_http_version 1.1;
        proxy_read_timeout   3600s; // 超时设置
        // 启用支持websocket连接
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
      }
      location /upload { // 静态资源地址
            root   /mnt/resources;        
      }
}

L'important, ce sont ces deux lignes, qui indiquent que lorsque la connexion websocket entre, une mise à niveau de connexion est effectuée pour transformer la connexion http en connexion websocket.

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

proxy_read_timeout ; Indique le temps d'attente de la réponse du serveur après une connexion réussie. S'il n'est pas configuré, la valeur par défaut est

proxy_http_version 1.1 ; Indique que la version http utilisée est 1.1 ;

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer