客戶端 - Nginx HTTP2 - Apache HTTP1.1 似乎違反了RFC

1 min

language: ja bn en es hi pt ru zh-cn zh-tw

大家好,我是無能。不知不覺中,我對Deno的拉取請求被合併了。太棒了!

問題

正如標題所說,如果這違反了RFC,會發生什麼呢?
curl無法使用

curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

儘管HTTP/2始終要求HTTPS通訊,但當Nginx進行反向代理並與後端Apache伺服器進行HTTP通訊時,似乎會發生這種情況。
解決方法:禁用HTTP/2
這種愚蠢的...情況,關於這個問題的討論似乎在Github上各處都有出現。
目前我只停用了HTTP/2。

此外,在這種情況下,有時無法從MacOS/IOS瀏覽器中查看,有時又可以,而且關於解決方案的資訊非常少。如果為curl選項指定--http1.1,暫時可以解決,但是...

HTTP2的規範

根據HTTP2的規範,它可以用於HTTP和HTTPS,但瀏覽器似乎只允許HTTPS通訊。這是什麼情況...

無效的自簽名

在後端Apache上使用自簽名證書進行臨時HTTPS通訊,並在後端
寫入Protocols h2 http/1.1
並使用a2enmod啟用模組,但似乎仍然無效。

HTTP/2的必要性

比較HTTP/1.1和HTTP/2下載多張圖片的速度
實際上,我很想好好支援HTTP/2,但這會是根據需求而定嗎?
這只是昨天發生的事情,看來我需要再花點時間慢慢調查👀

Related Posts