一、拓扑图

二、环境搭建

1、基础配置参照:

虚拟机搭建centos7.5-Nginx七层代理及环境部署_*_花非人陌_*的博客-CSDN博客https://blog.csdn.net/qq_41619571/article/details/124875194

2、不停nginx服务基础添加stream模块

[root@proxy nginx-1.21.6]# /usr/local/nginx/sbin/nginx -V  #查看nginx安装了那些模块
nginx version: nginx/1.21.6
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module #看此处安装了2个模块
[root@proxy nginx-1.21.6]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-stream   #添加--with-stream模块,四层反代理功能
[root@proxy nginx-1.21.6]# make #编译,不要进行install(执行install原配置会被覆盖)
[root@proxy nginx-1.21.6]# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old #将旧的nginx进行备份
[root@proxy nginx-1.21.6]# cp objs/nginx /usr/local/nginx/sbin/  #替换原nginx命令
[root@proxy nginx-1.21.6]# /usr/local/nginx/sbin/nginx -V  #再次查看模块已被加载
nginx version: nginx/1.21.6
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module --with-stream

3、配置Nginx服务器,添加服务器池,实现TCP/UDP反代理功能

#这里的配置不再是使用http协议,所以不能在配置到http里面
[root@proxy nginx-1.21.6]# vim /usr/local/nginx/conf/nginx.conf 
stream {                          #实现四层代理功能
    upstream backend {            #定义集群,backend是集群名称,可自行定义
        server 192.168.5.106:22;  #集群组是两台服务器组成
        server 192.168.5.107:22;
        }
    server {                      #定义一个服务
        listen 12345;             #需要监听的端口
        proxy_pass backend;       #调用集群
           }
}
http {
...
#客户端可以访问代理服务器的12345端口
#当访问12345端口时,就会吧请求转发给后台的backend集群组
[root@proxy nginx-1.21.6]# /usr/local/nginx/sbin/nginx -s stop
[root@proxy nginx-1.21.6]# /usr/local/nginx/sbin/nginx 

4、客户端测试(自行选用ssh工具)

注意:需要指定端口,不然默认是22端口

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐