Nginx 反向代理 gRPC 长连接服务最佳实践

Nginx 现在已经支持反代 gRPC 服务了,需要 Nginx >= 1.13.10,并且安装 ngx_http_v2_module 模块。

下面宇润分享一下最简单的 Nginx 反代 gRPC 长连接服务的配置:

# 定义我们的 gRPC 业务服务器地址
upstream grpcservers {
    server 172.17.0.1:13009; # 如果有多个可以定义多次
    keepalive 1800; # 保持长连接的秒数。如果不配置这个参数,Nginx 与你的服务之间的连接,大概率会是短连接而不是长连接。
}

server {
    listen 443 ssl http2; # gRPC 基于 Http2 协议,非常推荐启用 SSL

    # 下面5行根据实际情况进行配置
    server_name 你的域名;
    access_log  你的域名.log  main;
    error_log  你的域名.log  error;
    ssl_certificate      证书.crt;
    ssl_certificate_key  证书.key;

    # grpc 代理设置
    location ~* ^/(.+)\.(.+)/(.+)$ {
        grpc_set_header Host $host;
        grpc_set_header X-Real-IP $remote_addr;
        grpc_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        grpc_socket_keepalive on;
        grpc_pass grpc://grpcservers;
    }

    # 你的接口或者站点,如果不需要可以去掉
    location / {
        index index.html index.htm;
    

你可能感兴趣的:(nginx,rpc)