nginx共享端口按域名分流为什么,域名的没作用,就默认的...
侧边栏壁纸
  • 累计撰写 57,647 篇文章
  • 累计收到 0 条评论

nginx共享端口按域名分流为什么,域名的没作用,就默认的...

James
2020-12-15 / 0 评论 / 75 阅读 / 正在检测是否收录...

stream{
#这里就是SNI识别,将域名映射成一个配置名
map$ssl_preread_server_name$backend_name{

  域名1web;
  域名2tcp应用2;
  域名3tcp应用3;

#域名都不匹配情况下的默认值

  defaultweb;

}

web,配置转发详情

upstreamweb{

  server127.0.0.1:10240;

}

#tcp应用2,配置转发详情
upstreamtcp应用2{

  server127.0.0.1:10241;

}

#tcp应用3,配置转发详情
upstreamtcp应用3{

  server127.0.0.1:10242;

}

#监听
server{

  listen80reuseport;
  listen[::]:80reuseport;
  proxy_pass  $backend_name;

}
}


-----------------------------------------------------
网友回复:

在Stream模块中,server_name可以用来允许多个server块监听同一个ip:port。nginx会根据TLS的SNI来决定请求连接匹配到哪个server块。这意味着,Stream模块的server_name必须用在SSL卸载的情况下(即listen指令后面有ssl这个参数)


网友回复:

server监听要开ssl_prereadon;

backend的端口要开启ssl


网友回复:

引用:liuyangge发表于2020-12-1420:23

server监听要开ssl_prereadon;

backend的端口要开启ssl


网友回复:

引用:复世姬凌发表于2020-12-1420:25

不用443端口可以吗,


网友回复:

引用:jiangcuo发表于2020-12-1422:30

不是说了,是ssl吗,你得ssl


网友回复:

引用:zzx396发表于2020-12-1423:11

同问,四层转发我也搞不明白


网友回复:

都用上nginx了,让nginx做tls验证不行么


网友回复:

这个就是通过ssl请求域名判断的,所以一定要ssl请求,web的话就是https

0