两个程序都要用同一个端口,怎么解?

news/2024/7/19 14:11:52 标签: nginx, css, js, https, qml
js_content">

https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2dpZi9xRkc2bWdoaEE0WnFlR3hramxnVEhSblpMdGppY0hUb3R4VWhuYWVmOE81a2V2ckoxSm85OXlEcmNwMDVNRHZJSmlhNW1Tb2plRjNTTDBpYUlSMmljNDlvdEEvNjQw?x-oss-process=image/format,png" />

更多奇技淫巧欢迎订阅博客:https://fuckcloudnative.io

前言

你可能会碰到这个程序要用 443 端口,那个程序也要使用 443 的情况。这时候就要用到 nginx 的 stream 进行分流了。

假设有 web1,web2 两个都要用到 443 端口。则配置方法如下:

nginx.conf 配置文件

nginx 的末尾加上下面代码即可:

stream {
    map $ssl_preread_server_name $upstream {
        web1.moeelf.com web1;
        web2.moeelf.com web2;
        default web;
    }

    log_format stream '$remote_addr [$time_local] [$ssl_preread_server_name] [$upstream] $status $bytes_sent $bytes_received $session_time';
    access_log /var/log/nginx/stream.log stream;

    upstream web1 {
        server web1:65531;
    }
    upstream web2 {
        server web2:65532;
    }
    upstream web {
        server nginx:4433;
    }
    server {
        listen 443 reuseport;
        listen [::]:443 reuseport;
        proxy_pass $upstream;
        ssl_preread on;
    }
}

虚拟主机配置文件

将下面代码保存为 sni.conf 文件,放到虚拟主机目录。nginx 安装方式不一样,放的位置会不一样。一般位于 /etc/nginx/conf.d//usr/local/nginx/conf/vhost/ 下面。

server {
    listen 65531 ssl http2 reuseport;
    server_name web1.moeelf.com;

    ssl_certificate       /etc/nginx/ssl/web1.moeelf.com/fullchain.cer;
    ssl_certificate_key   /etc/nginx/ssl/web1.moeelf.com/web1.moeelf.com.key;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
    ssl_prefer_server_ciphers on;

    #log_format stream '$remote_addr [$time_local] [$ssl_preread_server_name] [$route] $status $bytes_sent $bytes_received $session_time';
    access_log /var/log/nginx/web1.moeelf.com.log;
}
server {
    listen 65532 ssl http2 reuseport;
    server_name web2.moeelf.com;

    ssl_certificate       /etc/nginx/ssl/web2.moeelf.com/fullchain.cer;
    ssl_certificate_key   /etc/nginx/ssl/web2.moeelf.com/web2.moeelf.com.key;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
    ssl_prefer_server_ciphers on;

    #log_format stream '$remote_addr [$time_local] [$ssl_preread_server_name] [$route] $status $bytes_sent $bytes_received $session_time';
    access_log /var/log/nginx/web2.moeelf.com.log;
}

原文链接:https://www.moeelf.com/archives/296.html

https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2dpZi9iOTZDaWJDdDcwaWFaN0JpYTNXbTkxY0V1V2hFUlhmQ1lqVGlhOXRmN2FNalZCTlJFVFNhMk5wR2pDVjZ0eU52Z0NMb3M4TEJnd0VneGN3YUl3OHpkT3NHN0EvNjQw?x-oss-process=image/format,png" />

https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9WM2xsN0ZNeUd5TVNCUWxocHdLMGozak9TNWljS21GbmNHSmRZOGtMNWtZNkFzd0RwT0JzejA2R0Zvd29EaWNMMmRDMmZyOWhhaWJucndOZFo3ckpMWHFVQS82NDA?x-oss-process=image/format,png" />

你可能还喜欢

点击下方图片即可阅读

https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9xRkc2bWdoaEE0YnBZZG94WTRkWGlhcGJVREhsbWliak42U3ZLZExJcG9rR2ZLbGljaDl1UHBpYndLaWJiTVdHV1NBcGgwOVVLQkNJYkp3QUVXaWN0Mzg1RGx0QS82NDA?x-oss-process=image/format,png" />

16 岁高中生成功在 iPhone 7 上安装 Ubuntu 20.04 桌面!

https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2dpZi9pY0hvZXJLTzNOakxHa0wzSmljWnh6WlVsTVBXYU9FVXRpYWlhTEtid0d4emVWWVhXbGR2UEI5aWF2dVREdVM4VmdlV0pnWVlNTEFFVkpiVTVHYjhVWlhyclFRLzY0MA?x-oss-process=image/format,png" />

云原生是一种信仰 ????

https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9xRkc2bWdoaEE0YmliUm1ZZDdpYjVYcnJnOGliMTI0V0haT3RaU0V4alFRdmh6V3FxaWN2QVV6WXJwTU1xMTkwaWNhV0RBdUt3YU1ITzBScVNEc0VDUzBkUUd3LzY0MA?x-oss-process=image/format,png" />

码关注公众号

后台回复◉k8s◉获取史上最方便快捷的 Kubernetes 高可用部署工具,只需一条命令,连 ssh 都不需要!

https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2dpZi94VHo0U3ZISThpYVRGQkxWVzU0Y0dCV1VFbVRZMnlNWEVld3BtUWpqSEZYWG5iSW15cEh0alI1ck40WUNvNUVCdkR1YmlhV3VpYTNBdGppYzFBU2M4R3VueGcvNjQw?x-oss-process=image/format,png" />

https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2dpZi94VHo0U3ZISThpYVR2UXF3SHk0dkNSMWFrVnhlYmRER1h0b1VBaWF3ekVQblh0YzB2TnI4YUgzU0dyN29FaWNHaWFIQ0hDc1psejd0MjRIcFRtQWhpYmh1WklnLzY0MA?x-oss-process=image/format,png" />

点击 "阅读原文" 获取更好的阅读体验!

❤️给个「在看」,是对我最大的支持❤️

http://www.niftyadmin.cn/n/1750360.html

相关文章

江湖二三事:听说你想做数据分析师?

四周昏暗,是一家小城的酒肆,屋外正是大雪纷飞。 林葱抖了抖外套,进的店里来,叫了两斤熟牛肉,一壶烧酒。 “小二,最近什么工作有前途啊?” 小二打量了一眼林葱,只见眼前的客官浓眉…

有了这款图形管理界面,一分钟内配置 10 个 WireGuard 客户端不是梦

该文章随时会有校正更新,公众号无法更新,欢迎订阅博客查看最新内容:https://fuckcloudnative.io前言之前花了很大的篇幅介绍了 WireGuard 的????工作原理和????配置详解,可这里面的内容实在太多了,大部分人根本…

虚拟机学习系列 - 1 - 运行时数据区域

目录虚拟机学习系列 - 1 - 运行时数据区域虚拟机学习系列 - 2 - 垃圾收集概述虚拟机学习系列 - 3 - 垃圾收集算法虚拟机学习系列 - 4 - 垃圾收集器虚拟机学习系列 - 5 - 内存分配与回收策略 虚拟机学习系列 - 6 - JDK工具 虚拟机学习系列 - 附 - 虚拟机参数 虚拟机学习系列 - 附…

java排序算法之 --- 选择排序

选择排序是一种非常简单的排序算法,从字面意思我们就可以知道,选择就是从未排序好的序列中选择出最小(最大)的元素,然后与第 i 趟排序的第 i-1(数组中下标从 0 开始) 个位置的元素进行交换&…

CAS SSO 中设置默认语言为汉语(国际化)

CAS SSO 中设置默认语言为汉语(国际化) 1 闲来无聊学一下CAS单点登录的一个开源实现:但是觉得如果要用到自己项目中。页面是需要修改的.但首先设置了汉语,会对你的修改有很好的帮助.其实在我当前使用的版本中cas-server-4.0.0,注意我是自己下载源码(https://githu…

Containerd镜像lazy-pulling解读

今天zouyee朋友段全锋童鞋为大家带来《Containerd镜像lazy-pulling解读》,其中《kuberneter调度由浅入深:框架》正在编写中,敬请期待。一、背景我们知道,容器运行起来的时间是非常快的,但是如果节点上容器的镜像不存在…

虚拟机学习系列 - 2 - 垃圾收集概述

目录 虚拟机学习系列 - 1 - 运行时数据区域虚拟机学习系列 - 2 - 垃圾收集概述虚拟机学习系列 - 3 - 垃圾收集算法虚拟机学习系列 - 4 - 垃圾收集器虚拟机学习系列 - 5 - 内存分配与回收策略 虚拟机学习系列 - 6 - JDK工具 虚拟机学习系列 - 附 - 虚拟机参数 虚拟机学习系列 - …

虚拟机学习系列 - 3 - 垃圾收集算法

目录 虚拟机学习系列 - 1 - 运行时数据区域虚拟机学习系列 - 2 - 垃圾收集概述虚拟机学习系列 - 3 - 垃圾收集算法虚拟机学习系列 - 4 - 垃圾收集器虚拟机学习系列 - 5 - 内存分配与回收策略 虚拟机学习系列 - 6 - JDK工具 虚拟机学习系列 - 附 - 虚拟机参数 虚拟机学习系列 - …