温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

nginx配置七层负载的代码

发布时间:2020-06-05 10:17:04 来源:亿速云 阅读:303 作者:Leah 栏目:系统运维

这篇文章主要为大家详细介绍了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配置七层负载的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI