nginx配置7层协议及4层协议方法

既然讲到了配置7层和4层协议,这里我们就多说点,举例讲解下什么是7层协议,什么是4层协议。

(1)7层协议

OSI(Open System Interconnection)是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范,共包含七层协议。直接上图,这样更直观些:

在这里插入图片描述

好,详情不进行仔细讲解,可以自行百度!

(2)4层协议

TCP/IP协议
之所以说TCP/IP是一个协议族,是因为TCP/IP协议包括TCP、IP、UDP、ICMP、RIP、TELNETFTP、SMTP、ARP、TFTP等许多协议,这些协议一起称为TCP/IP协议。

从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层。

在这里插入图片描述

(3)协议配置

这里我们举例,在nginx做负载均衡,负载多个服务,部分服务是需要7层的,部分服务是需要4层的,也就是说7层和4层配置在同一个配置文件中。

vi nging.conf

worker_processes  8;

events {
        worker_connections  1024;
}
#7层http负载
http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
        gzip  on;

        #app
        upstream  app.com {
                ip_hash;
                server 192.168.1.1:8080;
                server 192.168.1.2:8080;
                server 192.168.1.3:8080;
                server 192.168.1.4:8080;
        }

        server {
                listen       81;
                server_name  app;
                charset utf-8;
                location / {
                        proxy_pass http://plugin.com;
                        proxy_set_header Host $host:$server_port;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }
                error_page   500 502 503 504  /50x.html;
                location = /50x.html {
                        root   html;
                }
        }

        #file9090
        upstream  file.com {
                ip_hash;
        server 192.168.1.5:9090;
        server 192.168.1.6:9090;
        }
        server {
                listen       84;
                server_name  file;
                charset utf-8;
                location / {
                        proxy_pass http://file9090.com;
                        proxy_set_header Host $host:$server_port;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }
                error_page   500 502 503 504  /50x.html;
                location = /50x.html {
                        root   html;
                }
        }
}


#4层tcp负载
stream {
			upstream app5071 {
                hash $remote_addr consistent;
                server 192.168.1.7:5071;
                server 192.168.1.8:5071;
        }
        server {
            listen 87;
            proxy_connect_timeout 10s;
            proxy_timeout 30s;
            proxy_pass app5071;
        }
}

猜你喜欢

转载自blog.csdn.net/xzm5708796/article/details/83902050