平时只要有时间,我喜欢用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"
最新评论
感谢
能不能屏蔽掉刷流量的,统计工具显示全部都是
路过学习了
好像不太行啊 加载不出来啊
好文章
是否可以 实现 判断手机端跳转 而网址不变呢
你好
感谢分享,我也遇到这个了,根据你的提示,屏蔽掉了