作者:乐民修德 | 来源:互联网 | 2023-08-01 12:10
具体配置:upstreamservice{server10.3.1.1:8913max_fails5fail_timeout10sweight10;server10.3.1.2
具体配置:
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;