亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Nginx配置代理gRPC的方法

 更新時間:2018年03月28日 15:01:37   作者:3K  
本篇文章主要介紹了Nginx配置代理gRPC的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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

安裝Nginx

Nginx版本要求:1.13.10。

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

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

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

nginx是使用http服務器監(jiān)聽gRPC的請求。

示例:

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用來指定代理的gRPC服務器地址,前綴協議有兩種:

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

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

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

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

Nginx以TLS加密方式公開gRPC服務

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

在開發(fā)/測試環(huá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服務對外添加了ssl,而內部代理到gRPC服務器仍然是使用明文的交互方式。

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

代理加密的gRPC

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

nginx層修改如下:

grpc_pass grpcs://localhost:50051;

nginx路由gRPC請求

如果后端有多個gRPC服務端,其中每個服務端都是提供不同的gRPC服務。這種情況可以使用一個nginx接收客戶端請求,然后根據不同的路徑分發(fā)路由到指定的gRPC服務器。使用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;
}

對gRPC請求做負載均衡

在后端有多個gRPC服務器,它們都是同一個gRPC服務,這種情況可以結合nginx的upstream可以對gRPC的請求做負載均衡。

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指定定義了統一gRPC服務的服務器組。在grpc_pass指定的gRPC服務器地址使用upstream定義的服務器組。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 簡介Nginx服務器的Websockets配置方法

    簡介Nginx服務器的Websockets配置方法

    這篇文章主要介紹了簡介Nginx服務器的Websockets配置方法,是使用Nginx服務器的網管的必備知識XD~需要的朋友可以參考下
    2015-06-06
  • 在CentOS 7上進行 Nginx安裝教程

    在CentOS 7上進行 Nginx安裝教程

    這篇文章主要介紹了在CentOS 7上進行 Nginx安裝教程,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-12-12
  • Nginx獲取客戶端真實IP(real_ip_header)的實現

    Nginx獲取客戶端真實IP(real_ip_header)的實現

    在使用Nginx作為反向代理時,確保獲取客戶端真實IP是關鍵,通過配置real_ip_header和set_real_ip_from,Nginx可以正確解析X-Forwarded-For頭部信息,并更新$remote_addr為客戶端真實IP,下面就來具體介紹一下
    2024-10-10
  • Nginx訪問日志切割的3種實現方法

    Nginx訪問日志切割的3種實現方法

    這篇文章主要給大家介紹了關于Nginx訪問日志切割的3種實現方法,隨著訪問量的增長,日志文件會越來越大,時間長既會影響訪問的速度,也會占用一部分磁盤空間,這時候就需要日志切割了,需要的朋友可以參考下
    2023-08-08
  • 深入淺析nginx部署及簡單優(yōu)化

    深入淺析nginx部署及簡單優(yōu)化

    Nginx是lgor Sysoev為俄羅斯訪問量第二的rambler.ru站點設計開發(fā)的。本文重點給大家介紹nginx部署及簡單優(yōu)化方案,感興趣的朋友一起看看吧
    2018-08-08
  • Nginx+Tomcat的服務器端環(huán)境配置詳解

    Nginx+Tomcat的服務器端環(huán)境配置詳解

    這篇文章主要介紹了Nginx+Tomcat的服務器端環(huán)境配置詳解,包括Nginx與Tomcat的監(jiān)控開啟方法,需要的朋友可以參考下
    2015-12-12
  • nginx?反向代理負載均衡策略配置SSL訪問匹配規(guī)則優(yōu)先級

    nginx?反向代理負載均衡策略配置SSL訪問匹配規(guī)則優(yōu)先級

    本文主要包含1.Nginx配置文件詳解2.Nginx實現負載均衡3.Nginx前端項目部署4.Nginx配置SSL訪問5.nginx匹配規(guī)則說明以及匹配的優(yōu)先級的內容詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • windows下nginx安裝、配置與使用

    windows下nginx安裝、配置與使用

    本文主要介紹windows下nginx安裝、配置與使用的方法,講解的比較全面,需要的朋友可以參考一下。
    2016-06-06
  • nginx安裝圖解_動力節(jié)點Java學院整理

    nginx安裝圖解_動力節(jié)點Java學院整理

    這篇文章主要為大家詳細介紹了nginx安裝的圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • nginx設置目錄白名單、ip白名單的實現方法

    nginx設置目錄白名單、ip白名單的實現方法

    今天小編就為大家分享一篇nginx設置目錄白名單、ip白名單的實現方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08

最新評論