前言
网上很多教程都是无效配置,现通过自己实际操作和验证,精简出配置如下
一、版本要求
nginx 1.13.10 + (nginx从1.13.10开始支持grpc)
二、环境信息
服务器A grpc服务提供者,服务信息 127.0.0.1 8502
服务器B grpc服务代理者,转发后 服务信息 127.0.0.1 8503
服务器C grpc测试服务,服务信息 127.0.0.1 8080
三、需求
当前C可通过GRPC调用A,考虑到性能及安全性,现需要将A进行代理,由C通过GRPC调用B,再由B进行转发至A
四、配置
1.修改nginx.conf配置,在http{}里面添加如下内容:
# 设置超时和发包大小
client_max_body_size 4000M;
grpc_read_timeout 1d;
grpc_send_timeout 1d;
grpc_buffer_size 100M;
# 透传headers
underscores_in_headers on;
2.配置nginx转发
# grpc 代理配置
server {
listen 8503 http2; # grpc方式对外暴露端口
server_name localhost;
# access_log logs/access.log main;
location / {
grpc_pass grpc://127.0.0.1:8502; # 此处配置grpc服务的ip和端口
}
}