簡體   English   中英

如何讓nginx利用帶有express的http2

[英]How to get nginx to take advantage of http2 with express

我使用express與node和nginx作為反向代理。 我想知道如何利用http / 2和nginx來提供靜態內容,並將所有其他請求轉發到express API。

目前,我的快遞服務器正在通過http / 1服務,而nginx正在接受http / 2連接,並將它們轉發給express。 如何設置nginx以便它使用http / 2來提供我的statics文件夾中的所有內容,但是將所有請求作為http1轉發給API?

我將把你的問題分成兩部分:

  1. 如何利用http / 2.0從nginx提供靜態文件?
  2. 如果nginx充當反向代理,如何設置nginx向后端服務器發送http / 1.1請求?

答案1:

對於提供靜態文件的情況,主要的性能優勢可以來自使用http / 2.0協議的多路復用功能。 多路復用增強了http / 1.1中引入的流水線功能,並克服了HOL阻塞問題。 通過多路復用,您可以使用相同的底層TCP連接,使用一個http連接並行加載多個資源。 您還應該考慮流優先級,以便為首先要在頁面上加載的資源分配優先級,否則可能會延遲加載某些關鍵資源,因為所有資源都會爭用相同的多路復用連接。

答案2:

向后端服務器發送http / 1.1請求是默認行為。 因此,如果您已經將nginx配置為使用http / 2.0,則無需執行任何特殊操作即可將http / 1.1請求代理到您的后端。 這是因為到目前為止nginx在代理模塊中不支持http / 2.0。 請參閱此 另外,請查看這個數字海洋教程 ,它將指導您使用ubuntu 16.04上配置的http / 2.0設置nginx。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM