nginx socket wss 协议 相同域名不同端口号

相同域名不同端口号

我想在域名的不同端口起不同的服务

upstream 运载均衡

https://blog.csdn.net/pml18710973036/article/details/69053525?locationNum=10&fps=1

listen 端口号 443 和 80

80 是 http 和 ws 协议监听的端口号

无论 wss 协议还是 https 协议都是在 443 上监听

nginx 常用命令

  • 重新加载配置 service nginx reload
  • 停止运行 service nginx stop
  • 开始运行 service nginx start
  • 测试配置 nginx -t
  • 启动之前和 reload 之前,一定要 nginx -t 测试一下配置文件是否正确


反向代理官方讲解配置

http://nginx.org/en/docs/http/websocket.html

一下配置摘抄自官网,添加了注释

nginx 设置 socket 反向代理

  1. 基本的设置方法
location /chat/ {
    proxy_pass http://backend;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}
  1. 更加完善详细的设置方法

增加了 map 保证了 http_upgrade 一定是有值的

默认是 upgrade

否则close

但是第二种方法在执行

nginx -t

的时候,无法测试成功,所以第二种方法暂时没有使用

http {
    map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
    }

    server {
        ...

        location /chat/ {
            proxy_pass http://backend;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;
        }
    }

nginx 其他配置

你可能感兴趣的:(nginx socket wss 协议 相同域名不同端口号)