全球主机交流论坛

标题: nginx共享端口按域名分流为什么,域名的没作用,就默认的... [打印本页]

作者: 复世姬凌    时间: 2020-12-14 19:06
标题: nginx共享端口按域名分流为什么,域名的没作用,就默认的...
  1. stream {
  2.     # 这里就是 SNI 识别,将域名映射成一个配置名
  3.     map $ssl_preread_server_name $backend_name {
  4.         域名1 web;
  5.         域名2 tcp应用2;
  6.         域名3 tcp应用3;
  7.     # 域名都不匹配情况下的默认值
  8.         default web;
  9.     }
  10. # web,配置转发详情
  11.     upstream web {
  12.         server 127.0.0.1:10240;
  13.     }

  14.     # tcp应用2,配置转发详情
  15.     upstream tcp应用2 {
  16.         server 127.0.0.1:10241;
  17.     }

  18.     # tcp应用3,配置转发详情
  19.     upstream tcp应用3 {
  20.         server 127.0.0.1:10242;
  21.     }

  22.     # 监听
  23.     server {
  24.         listen 80 reuseport;
  25.         listen [::]:80 reuseport;
  26.         proxy_pass  $backend_name;
  27.     }
  28. }
复制代码




就是这样的,然后域名的都不起作用,就default默认那个起作用,大佬求指导一二


作者: gaoji.me    时间: 2020-12-14 19:39
在Stream模块中,server_name 可以用来允许多个server块监听同一个ip:port。nginx会根据TLS的SNI来决定请求连接匹配到哪个server块。这意味着,Stream模块的server_name必须用在SSL卸载的情况下(即listen指令后面有ssl这个参数)
作者: liuyangge    时间: 2020-12-14 20:23
server监听 要开 ssl_preread on;
backend的端口 要开启ssl  
作者: 复世姬凌    时间: 2020-12-14 20:25
liuyangge 发表于 2020-12-14 20:23
server监听 要开 ssl_preread on;
backend的端口 要开启ssl

不用443端口可以吗,
作者: liuyangge    时间: 2020-12-14 20:35
复世姬凌 发表于 2020-12-14 20:25
不用443端口可以吗,

可以  不过请求必须得带ssl
作者: jiangcuo    时间: 2020-12-14 22:30
不是说了,是ssl吗,你得ssl
作者: 复世姬凌    时间: 2020-12-14 23:09
jiangcuo 发表于 2020-12-14 22:30
不是说了,是ssl吗,你得ssl

不知道怎么搞 加了ssl_preread on;也没有用,都是default设置那个,那个就有用
作者: zzx396    时间: 2020-12-14 23:11
同问,四层转发我也搞不明白
作者: 复世姬凌    时间: 2020-12-14 23:12
zzx396 发表于 2020-12-14 23:11
同问,四层转发我也搞不明白

会了教一下我
作者: hostloc8888    时间: 2020-12-15 02:04
都用上nginx了,让nginx做tls验证不行么
作者: BWH    时间: 2020-12-15 02:55
这个就是通过ssl请求域名判断的,所以一定要ssl请求,web的话就是https
作者: bed    时间: 2020-12-15 03:16
技术贴讨论




欢迎光临 全球主机交流论坛 (https://loc.888543.xyz/) Powered by Discuz! X3.4