Nginx 的 stream 和 http 可以配置为同一端口吗

2020-04-16 22:05:13 +08:00
 Techxiu

例如下面这样

http {
     server {
         listen 443 ssl;
         server_name www.example.com;
     }
 }

stream {
    server {
        listen 443;
        ssl_preread on;
        proxy_pass $name;
    }
}

试了好像不行,会提示

nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)

4501 次点击
所在节点    NGINX
3 条回复
lance86
2020-04-16 22:37:55 +08:00
http 是基于 tcp 的,stream 默认也是监听 tcp 协议的( stream 可以指定为监听 udp,这时应该就可以配置为同一个端口了),两者就不能监听同一个端口了。
核心就是端口是传输层协议在用的,tcp 、udp 这些的。
zhuisui
2020-04-16 22:47:16 +08:00
traefik 是可以的
julyclyde
2020-04-17 14:30:38 +08:00
你既然都试了不能,为什么还要问能不能呢
至少问个为什么啊?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/663220

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX