首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何纠正'nginx:[emerg]“流”指令在这里不允许“

如何纠正'nginx:[emerg]“流”指令在这里不允许“
EN

Stack Overflow用户
提问于 2021-06-28 16:39:48
回答 1查看 2.7K关注 0票数 0

问题

为什么下面的Nginx配置返回nginx: [emerg] "stream" directive is not allowed here in /etc/nginx/sites-enabled/default:1

Nginx配置.

代码语言:javascript
运行
复制
stream {
  map $ssl_preread_server_name $upstream {
    example.com 1051;
  }
  upstream 1051 {
    server 127.0.0.1:1051;
  }
  server {
    listen 443;
    proxy_pass $upstream;
    ssl_preread on;
  }
}

版本/构建信息..。

操作系统: Debian 10

下面是精简的nginx -V输出,确认我需要的模块的存在.

代码语言:javascript
运行
复制
nginx version: nginx/1.14.2
TLS SNI support enabled
configure arguments: ... --with-stream=dynamic --with-stream_ssl_module --with-stream_ssl_preread_module ...

语境

我只有一个静态IP地址。在静态IP地址上,我正在设置一个反向代理Nginx服务器,将流量转发到各种后端服务。其中一些服务是具有独特域名的网站。

代码语言:javascript
运行
复制
+-----+        +----------------------+        +---------+
| WAN | <----> | Nginx Reverse Proxy  | <----> | Service |
+-----+        +----------------------+        +---------+

在引导时,服务使用systemd来运行这个端口转发ssh命令,以连接到反向代理:ssh -N -R 1051:localhost:443 tunnel@example.com (运行良好)。

我希望证书驻留在服务上,而不是反向代理。据我所知,我需要利用Nginx上的SNI通过基于域名的SSL连接。但我无法让Nginx反向代理通过SSL。

资源

以下是我仔细研究过的一些资源.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-12 15:01:54

问题是我试图将stream块嵌入到http块中。我在/etc/nginx/nignx.conf文件中没有正确地解释/etc/nginx/nignx.conf

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

https://stackoverflow.com/questions/68167077

复制
相关文章

相似问题

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