首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >nginx:[emerg]未知的"name“变量,nginx:[emerg]未知的"ssl_preread_server_name”变量

nginx:[emerg]未知的"name“变量,nginx:[emerg]未知的"ssl_preread_server_name”变量
EN

Server Fault用户
提问于 2022-03-21 23:20:23
回答 1查看 2.8K关注 0票数 0

我试图在Debian 11中使用Nginx1.18建立我自己的隐形VPN服务器。我遵循本指南,但许多指令不起作用。问题是,当我发出nginx -t测试命令时,输出是:

代码语言:javascript
运行
复制
 - nginx: [emerg] unknown "ssl_preread_server_name" variable

如果问题仅与这个特定变量有关,并且为了查看是否存在其他错误,测试已经通过,但发现另一个变量错误,则我将此变量从$ssl_preread_server_name改为$server_name

代码语言:javascript
运行
复制
 - nginx: [emerg] unknown "name" variable`

这是我在nginx.conf文件os中的最后一个服务器代码块,我不希望它会发现更多的错误。我检查了Nginx变量的原始数据,变量$name$ssl_preread_server_name是正式存在的。我所遵循的指南说,他们应该这样分配,而且在互联网上没有任何其他指南,所以我有点卡住了。

到目前为止,我对这两个变量都有疑问。它们位于map块和最后一个server块中。非常感谢你的帮助

这是我的全部代码:

代码语言:javascript
运行
复制
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
    worker_connections 768;
    # multi_accept on;
}

http {

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    types_hash_max_size 2048;
    # server_tokens off;

    # server_names_hash_bucket_size 64;
    # server_name_in_redirect off;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ##
    # SSL Settings
    ##

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on;

        ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
        ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;

        ##
        # Servers
        ##
        
        server {
            # server_name 206.189.21.228;
              listen 127.0.0.1:8000;
        }

        ##
        # map
        ##

        map $ssl_preread_server_name $name {
            default https;
            206.189.21.228 vpn;
        }

    ##
    # Logging Settings
    ##

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    ##
    # Gzip Settings
    ##

    gzip on;

    ##
    # Virtual Host Configs
    ##

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

stream { 
     ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
     ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
    
     upstream https {
         server unix:/etc/nginx/nginx_writing;
         }
    
     upstream vpn {
         server unix:/etc/openvpn/openvpn_writing;
     }
    
     server {
         listen unix:/etc/nginx/nginx_writing ssl;
         # openvpn doesn't support unix-sockets
         proxy_pass 127.0.0.1:1194;
     }
    
     server {
         listen unix:/etc/nginx/nginx_writing2 ssl;
         # could also use a unix-socket here
         proxy_pass 127.0.0.1:8000;
     }
    
    server { 
        listen [::]:443 ipv6only=off;
        proxy_protocol on;
        proxy_pass $name;
    }

}
EN

回答 1

Server Fault用户

发布于 2022-03-22 21:05:26

问题是您的nginx没有所需的ngx_stream_ssl_preread模块。您需要找到包含此模块的nginx构建。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1096697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档