为了抢购小米3,配置nginx为代理服务器助阵
[文章作者:磨延城 转载请注明原文出处: https://mo2g.com/view/55/ ]
之前就有想法要写一篇关于nginx服务搭建代理服务器的教程,毕竟在国内要想访问比如fackbook、twitter等国外热门的网站,必须得通过代理服务器.后来想到并不是所有人都有租用国外的服务器,又觉得这样的教程太简单了,越来越感觉没有写的必要了,就搁浅了.直到今天要抢购小米3,我才突然有了一个新的想法:用磨途歌的阿里云服务器来抢小米3!
更新提示:由于小米官网购买页面采用https加密机制,导致nginx代理服务器无法正常使用,现改用apache来代替nginx,详情请看《配置apache为代理服务器,成功抢到小米3》。
之前就有想法要写一篇关于nginx服务搭建代理服务器的教程,毕竟在国内要想访问比如fackbook、twitter等国外热门的网站,必须得通过代理服务器。后来想到并不是所有人都有租用国外的服务器,又觉得这样的教程太简单了,越来越感觉没有写的必要了,就搁浅了。直到今天要抢购小米3,我才突然有了一个新的想法:用磨途歌的阿里云服务器来抢小米3!
因为在公司不只我一个人在抢小米3,其他同事也都摩拳擦掌等着呢,磨途歌就开始思考一个问题:多个人使用同一个IP登录小米官网抢小米3,会不会被服务器拉黑,或者受到特殊照顾?虽然上回我与坐在我旁边的同事一起抢到了红米,但指不定小米官网早就对服务器做了调整了。
出于上边的考虑,我想到了使用自己的阿里云服务器,通过配置nginx服务实现代理功能,来抢购小米3!
其他的关于nginx服务器的范例配置可以参考《使用变量简化nginx服务器的配置文件》,下边直接创建proxy.conf配置文件:
1)最精简的方式
server { resolver 8.8.8.8; listen 1080; location / { proxy_pass $scheme://$host$request_uri; } }
2)优化过的方式
server { resolver 8.8.8.8; resolver_timeout 5s; listen 1080; location / { proxy_pass $scheme://$host$request_uri; proxy_set_header Host $http_host; proxy_buffers 256 8k; proxy_max_temp_file_size 0; proxy_connect_timeout 30; proxy_cache_valid 200 302 10m; proxy_cache_valid 301 1h; proxy_cache_valid any 1m; } }
然后执行下边的命令让nginx服务器重新读取配置文件
[root@mo2g.com ~]# /ect/init.d/nginx reload
接下来设置一下浏览器的代理配置方案
1)如果用的火狐浏览器,可以按照下边的操作来完成配置
工具->选项->高级->网路->设置
2)如果用的是IE浏览器(谷歌浏览器,360浏览器等等都用的是IE的代理配置),可以按照下边的操作来完成配置
Internet选项->连接->局域网设置
配置完成后,正常使用浏览器,就能通过磨途歌的代理服务器访问网站。这样就解决了多人使用同一个IP抢购小米3的问题。
磨途歌的服务器也就1M的网速,可能效果不是很理想,抢购的时候没能顺利的挤进去,直到12点22分的时候,其中一个没用代理浏览器才突然出现了选手机的界面,但遗憾的是,小米3已经售罄了,只剩下小米2S跟红米了。因为就冲着小米3来的,红米又已经买过了,犹豫了一会才选择了一款白色的红米,可没想到会提示验证码错误,再刷进去,只剩下了小米2S。
当时已经过了20几分钟了,肚子有点饿,同事又等着我一起去吃饭,索性就把页面关了,等下回吧。
吃完饭回到公司,我总结了一下小米官网的特点:
1)以前是最先输入正确的验证码就能进入选择页面,那个时候纯拼网速跟人品
2)现在小米官网通过一些手段,充分利用瞬间爆炸的大流量,让用户更长时间的停留在小米官网上,增加网站的流量排名,所以,使用了类似于摇号+陆续放出的方式。
a.摇号:玩过飞行棋的小伙伴们都知道,只有轮到自己抛骰子并且抛到6点,飞机才有起飞权。当我们点击购买按钮后出现的排队提示框其实就是在等待抛骰子,我把这一过程称为摇号。为了拖延时间,小米官网当然不会这么轻易的让我们获得起飞权,所以可能会让我们同时抛100个或1000个骰子,全部为6点才放行。
b.陆续放出:我觉得小米手机很可能有陆续放出的机制,这就很好的解释了为什么过了22分钟,依然还有剩余的手机。
最后,祝大家下回好运吧。
我来说两句: