欢迎光临
我们一直在努力

nginx-配置反向(CDN)节点回源支持HTTP/1.1协议

平时只要有时间,我喜欢用tailf命令去事实查看nginx产生的日志,不知道有多少兄弟和我一样,今天下午发现了一个很奇怪的问题,我在查看源站的日志时发现,搜索引擎的蜘蛛直接访问源站时http的协议全是1.1的,而蜘蛛通过反向代理服务器,也就是我们自建的CDN节点回源访问过来的协议全是1.0。

40.77.167.48 - - [31/Jan/2019:17:44:00 +0800] "GET /94.html HTTP/1.1" 304 0 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "-"
116.255.188.188 - - [31/Jan/2019:17:44:20 +0800] "GET /422.html HTTP/1.0" 200 19549 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "40.77.167.165"
220.181.108.185 - - [31/Jan/2019:17:44:30 +0800] "GET /357.html HTTP/1.1" 200 16045 "-" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)" "-"
116.255.188.188 - - [31/Jan/2019:17:44:41 +0800] "GET /22.html HTTP/1.0" 200 13601 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "40.77.167.165"

大家都知道1.0协议要比1.1协议可是要慢很多,他们之间最大的区别就是,http/1.1协议支持长连接和请求的流水线处理,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟,那么怎么让节点直接通过1.1的协议访问我们的源站呢!其实很简单,在server配置项添加以下二行指令就可以。

server {
        listen *:443 ssl;
		………………
		………………
        proxy_http_version 1.1;
        proxy_set_header Connection "";
		…………
		…………
		…………
}

添加完指令后,不要忘记把配置文件重新加载一下,让配置文件生效,重新加载配置文件后再次查看日志,蜘蛛通过节点回源的协议也是1.1了,大功告成!

116.255.188.188 - - [31/Jan/2019:17:52:55 +0800] "GET /83.html HTTP/1.1" 200 18212 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "157.55.39.247"
116.255.188.188 - - [31/Jan/2019:17:53:33 +0800] "GET /566.html HTTP/1.1" 200 19643 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" "203.208.60.32"

赞(0) 打赏
转载请注明出处:爱编程 » nginx-配置反向(CDN)节点回源支持HTTP/1.1协议
分享到: 更多

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

爱编程、一个运维兼程序员的博客!

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏