来源:https://blog.csdn.net/liushuyul/article/details/125047906
nginx 反向代理支持 grpc
#此配置为负载均衡配置
upstream datacenter_load {
server 127.0.0.1:9090;
}
server {
#此处配置上http2,因为gprc是基于http2的
listen 88 http2;
server_name test.datacenter.technocore.network;
#此处貌似不能像http转https一样,会报错,所以注释掉单独再写个grpcs的server配置
#return 301 grpc://$server_name:880/$request_uri;
location / {
#此处配置grpc服务的反向代理
grpc_pass grpc://datacenter_load;
grpc_set_header Host $host;
grpc_set_header X-Real-IP $remote_addr;
grpc_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
nginx 反向代理支持 grpc + ssl
#此配置为负载均衡配置
upstream datacenter_load2 {
server 127.0.0.1:9090;
}
server {
#此处配置上http2和ssl,因为gprc是基于http2的
listen 880 ssl http2;
server_name test.technocore.network;
#此处配置ssl证书的路径
ssl_certificate /opt/metisnetwork/nginx/ssl/test.technocore.network.pem;
ssl_certificate_key /opt/metisnetwork/nginx/ssl/test.technocore.network.key;
location / {
#此处配置grpc服务的反向代理
grpc_pass grpc://datacenter_load2;
grpc_set_header Host $host;
grpc_set_header X-Real-IP $remote_addr;
grpc_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}