nginx配置同时支持grpc(http2)方式传流以及http方式转发请求
在网上找了很多配置都千篇一律不管用。废话不说,直接上配置
修改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;
设置过以上内容之后,nginx就可以支持grpc传输流了。接下来配置server,在nginx.conf中修改或者新添加server{}:
# grpc 代理配置
server {
listen 8001 http2; # grpc方式对外暴露端口
server_name localhost;
# access_log logs/access.log main;
location / {
grpc_pass grpc://127.0.0.1:8200; # 此处配置grpc服务的ip和端口
}
}
# http 代理配置
server {
listen 80; # http方式对外暴露端口
server_name localhost;
# access_log logs/access.log main;
location / {
proxy_pass http://127.0.0.1:8210; # 此处配置http服务的ip和端口
}
}
Done!