大佬们好,
我现在通过手动在stream.d里面创建配置文件来实现一个转发,因为需要限制访问的流量,所以想通过map模块和ssl_preread来进行SNI的验证。
我的配置大致如下(域名和端口是示例):
log_format dot_debug ‘$remote_addr [$time_local] SNI: “$ssl_preread_server_name” → Backend: $dns_backend $protocol $status’;
map $ssl_preread_server_name $dns_backend {
“abc.example.com” 127.0.0.1:28883;
default 127.0.0.1:9;
}
server {
listen 2853 ssl;
ssl_preread on;
ssl_certificate /www/sites/abc.example.com/ssl/fullchain.pem;
ssl_certificate_key /www/sites/abc.example.com/ssl/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
access_log /var/log/nginx/dot_debug.log dot_debug;
proxy_pass $dns_backend;
proxy_timeout 20s;
proxy_connect_timeout 5s;
}
我在测试过程中发现使用正确的域名也是不能访问的,后来我查看日志,发现无法获得SNI:
SNI: “-” → Backend: 127.0.0.1:9 TCP 502
即使我不使用map模块的配置,能成功访问的情况下,SNI也是"-"
SNI: “-” → Backend: 127.0.0.1:28883 TCP 200
1Panel版本是2.1.5,OpenResty版本是1.27.1.2-5-1-focal
这个可能是什么原因啊,是否跟WAF功能有关系?