麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 網(wǎng)站 > Nginx > 正文

Nginx配置代理gRPC的方法

2024-08-30 12:29:30
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

Nginx 1.13.10新增了對(duì)gRPC的原生支持。本文介紹如何配置Nginx的gRPC。

安裝Nginx

Nginx版本要求:1.13.10。

gRPC必須使用HTTP/2傳輸數(shù)據(jù),支持明文和TLS加密數(shù)據(jù),支持流數(shù)據(jù)的交互。這是為了充分利用 HTTP/2 連接的多路復(fù)用和流式特性。所以在安裝部署nginx時(shí)需要安裝http/2。使用源碼安裝,編譯時(shí)需要加入http_ssl和http_v2模塊:

$ auto/configure --with-http_ssl_module --with-http_v2_module

Nginx以明文的方式發(fā)布gRPC服務(wù)。

nginx是使用http服務(wù)器監(jiān)聽(tīng)gRPC的請(qǐng)求。

示例:

http { server {  listen 80 http2;  access_log logs/access.log main;  location / {   # The 'grpc://' prefix is optional; unencrypted gRPC is the default     grpc_pass grpc://localhost:50051;  } }}

指令grpc_pass用來(lái)指定代理的gRPC服務(wù)器地址,前綴協(xié)議有兩種:

  1. grpc://:與gRPC服務(wù)器端交互是以明文的方式
  2. grpcs://:與gRPC服務(wù)器端交互式以TLS加密方式

gRPC服務(wù)器地址的前綴“grpc://”是可以忽略,默認(rèn)就是明文交互方式。

此示例里nginx以明文的方式在80端口發(fā)布gRPC,其中代理的gRPC在后端也是以明文的方式交互。

注意:Nginx是不支持在明文的端口上同時(shí)支持http1和http2的。如果要支持這兩種的http協(xié)議,需要設(shè)置為不同的端口。

Nginx以TLS加密方式公開(kāi)gRPC服務(wù)

在生成環(huán)境建議使用Nginx是以加密的方式發(fā)布gRPC。這種情景需要在Nginx添加一個(gè)加密層。

在開(kāi)發(fā)/測(cè)試環(huán)境可以使用自簽名證書,關(guān)于自簽名證書可以參考此簡(jiǎn)明教程。

配置示例:

server { listen 1443 ssl http2; ssl_certificate ssl/cert.pem; ssl_certificate_key ssl/key.pem; location / {   grpc_pass grpc://localhost:50051; }}

示例里在nginx層給gRPC服務(wù)對(duì)外添加了ssl,而內(nèi)部代理到gRPC服務(wù)器仍然是使用明文的交互方式。

gRPC客戶端也是需要TLS加密。如果是使用自簽名證書等未經(jīng)信任的證書,客戶端都需要禁用證書檢查。在部署到生產(chǎn)環(huán)境時(shí),需要將自簽名證書換成由可信任證書機(jī)構(gòu)發(fā)布的證書,客戶端也需要配置成信任該證書。

代理加密的gRPC

如果Nginx內(nèi)部代理的gRPC也需要以加密的方式交互,這種情況就需要把明文代理協(xié)議grpc://替換為grpcs://。這首先要gRPC服務(wù)器是以加密的方式發(fā)布服務(wù)的。

nginx層修改如下:

grpc_pass grpcs://localhost:50051;

nginx路由gRPC請(qǐng)求

如果后端有多個(gè)gRPC服務(wù)端,其中每個(gè)服務(wù)端都是提供不同的gRPC服務(wù)。這種情況可以使用一個(gè)nginx接收客戶端請(qǐng)求,然后根據(jù)不同的路徑分發(fā)路由到指定的gRPC服務(wù)器。使用location區(qū)分:

location /helloworld.Greeter { grpc_pass grpc://192.168.20.11:50051;}location /helloworld.Dispatcher { grpc_pass grpc://192.168.20.21:50052;}location / { root html; index index.html index.htm;}

對(duì)gRPC請(qǐng)求做負(fù)載均衡

在后端有多個(gè)gRPC服務(wù)器,它們都是同一個(gè)gRPC服務(wù),這種情況可以結(jié)合nginx的upstream可以對(duì)gRPC的請(qǐng)求做負(fù)載均衡。

upstream grpcservers { server 192.168.20.21:50051; server 192.168.20.22:50052;}server { listen 1443 ssl http2; ssl_certificate  ssl/certificate.pem; ssl_certificate_key ssl/key.pem; location /helloworld.Greeter {  grpc_pass grpc://grpcservers;  error_page 502 = /error502grpc; } location = /error502grpc {  internal;  default_type application/grpc;  add_header grpc-status 14;  add_header grpc-message "unavailable";  return 204; }}

其中upstream指定定義了統(tǒng)一gRPC服務(wù)的服務(wù)器組。在grpc_pass指定的gRPC服務(wù)器地址使用upstream定義的服務(wù)器組。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到服務(wù)器教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 美女喷水网站 | 久久羞羞视频 | 成人小视频免费在线观看 | 久久一级 | 国产高清成人久久 | 毛片视频播放 | 精品中文字幕视频 | 久久精品9| 做爰裸体激情2 | av电影在线观看网站 | 国产精品资源手机在线播放 | 国产日韩精品欧美一区视频 | 国产美女白浆 | 精品一区二区三区不卡 | 国产在线精品一区二区不卡 | 91九色网| 久久噜噜噜精品国产亚洲综合 | 2019天天干夜夜操 | 亚洲欧洲av在线 | 久久欧美亚洲另类专区91大神 | 亚洲免费毛片基地 | 99精品视频在线观看免费播放 | 91快色视频| 国产亚洲综合一区二区 | 久久久久北条麻妃免费看 | 中文字幕线观看 | 欧美成人精品一区 | 成人福利网 | 亚洲免费视 | 久久精品视频网站 | 九色中文| 欧美日韩亚洲成人 | 日韩视频一区二区在线观看 | 在线观看免费视频麻豆 | 成人三级视频在线观看 | 欧美人与zoxxxx另类9 | 91午夜在线观看 | 黄色毛片视频在线观看 | 久久久国产电影 | 免费小毛片 | 国产精品久久久久久久久久电影 |