前言
網上很多教程都是無效配置,現通過自己實際操作和驗證,精簡出配置如下
一、版本要求
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和端口
}
}