Nginx配置WebSocket 【支持wss与ws连接】

要配置 Nginx 支持 WebSocket (包括非加密的 ws:// 连接和加密的 wss:// 连接),你需要在 location 块中添加一些特定的指令。这些指令告诉 Nginx 如何将 WebSocket 连接代理到你的应用服务器。以下是一个基本的示例:

server {
    listen 80;
    server_name your_domain.com;
    
    location /ws/ {
        proxy_pass http://your_application_server;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $host;
    }
}

在这个示例中,所有到 /ws/ 的请求都会被视为 WebSocket 连接,并被代理到 your_application_serverproxy_set_header 指令用于设置 HTTP 头部,$http_upgrade"Upgrade" 用于升级连接到 WebSocket。

对于 wss:// 连接,你还需要启用 SSL:

server {
    listen 443 ssl;
    server_name your_domain.com;

    ssl_certificate /etc/nginx/ssl/your_domain.com.crt;
    ssl_certificate_key /etc/nginx/ssl/your_domain.com.key;

    location /ws/ {
        proxy_pass http://your_application_server;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $host;
    }
}

在这个示例中,你需要将 ssl_certificatessl_certificate_key 指令的值替换为你的 SSL 证书和私钥的路径。

请注意,以上配置是基本的 WebSocket 支持。根据你的具体需求,你可能需要添加更多的配置,例如用于负载均衡、缓存、限流或其他功能的配置。

你可能感兴趣的:(网络,linux,教程,docker,容器,运维)