nginx配置7層協議及4層協議方法
阿新 • • 發佈:2018-11-11
既然講到了配置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; } }