您好,登錄后才能下訂單哦!
這篇文章主要為大家詳細介紹了nginx配置七層負載的方法,文中示例代碼介紹的非常詳細,零基礎也能參考此文章,感興趣的小伙伴們可以參考一下。
具體配置:
upstream service {
server 10.3.1.1:8913 max_fails=5 fail_timeout=10s weight=10;
server 10.3.1.2:8913 max_fails=5 fail_timeout=10s weight=10;
}
server {
listen 80;
server_name www.test.com;
location / {
proxy_set_header Host $host;
# 自定義的用于debug字段,如果不加,后端無法獲取到此字段
proxy_set_header unique_id $http_unique_id;
proxy_set_header trace_id $http_trace_id;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 30;
proxy_send_timeout 20;
proxy_read_timeout 20;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_pass http://service;
}
}
http中修改了如下幾個配置:
include mime.types;
default_type application/octet-stream;
server_names_hash_max_size 10240;
server_names_hash_bucket_size 2048;
client_max_body_size 3m;
client_body_buffer_size 256k;
# 開啟header中帶下劃線的配置
underscores_in_headers on;
# 修改日志記錄格式,json格式方便ELK進行收集
log_format json escape=json '{"remote_addr": "$remote_addr",'
'"@timestamp": "$time_iso8601",'
'"request_uri": "$request_uri",'
'"verb": "$request_method",'
'"httpversion": "$server_protocol",'
'"response": "$status", '
'"body_bytes_sent": "$body_bytes_sent", '
'"referrer": "$http_referer", '
'"user_agent": "$http_user_agent", '
'"http_x_forwarded_for": "$http_x_forwarded_for", '
'"http_unique_id": "$http_unique_id", '
'"http_trace_id": "$http_trace_id", '
'"server_name": "$host",'
'"request_time": "$request_time",'
'"upstream_response_time": "$upstream_response_time",'
'"realpath_root": "$realpath_root",'
'"cookie": "$http_cookie",'
'"request_body": "$request_body",'
'"nginx_version": "$nginx_version",'
'"scheme": "$scheme"}';
access_log /data/log/tmp.log json;
關于nginx配置七層負載的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。