您现在的位置是:休闲 >>正文
nginx搭建代理上网服务器
休闲9385人已围观
简介 公司里那台老旧的CentOS 6服务器,被网管遗忘在机房的角落里,风扇嗡嗡转着,像一只困倦的老猫。我把它擦干净,装上Nginx,就成了一台能翻墙的代理服务器。别笑,这事儿真没那么玄乎。 代理上网的核 ...
公司里那台老旧的建代CentOS 6服务器,被网管遗忘在机房的理上角落里,风扇嗡嗡转着,网服务器像一只困倦的建代老猫。我把它擦干净,理上装上Nginx,网服务器就成了一台能翻墙的建代代理服务器。别笑,理上这事儿真没那么玄乎。网服务器
代理上网的建代核心,就是理上让Nginx当个“传话筒”。你访问不了Google,网服务器但你的建代服务器能访问,那你就让服务器替你去取。理上Nginx的网服务器`proxy_pass`指令干的就是这个活儿。配置起来简单到让人怀疑人生:
server { listen 8080; location / { proxy_pass http://$http_host$request_uri; proxy_set_header Host $http_host; } } 这段配置的意思是:凡是发到这台服务器8080端口的请求,Nginx都原封不动地转发到目标地址去。`$http_host`是浏览器请求头里带的原始域名,`$request_uri`是完整路径。就这么两行,一个基础代理就通了。
但实际用的时候,光这样不够。你得处理HTTPS。现在哪个网站没有SSL?如果只配HTTP代理,访问HTTPS站点会报错。解决办法是加一层`CONNECT`支持——Nginx 1.9.12之后有了`ngx_http_proxy_connect_module`模块,装上它,配置改成:
server { listen 8080; proxy_connect; proxy_connect_address 127.0.0.1; proxy_connect_port 443; proxy_connect_timeout 10s; location / { proxy_pass http://$http_host$request_uri; proxy_set_header Host $http_host; } } 这个模块的作用是让Nginx先和客户端建立TCP隧道,再替客户端去连接目标网站的443端口。说白了,就是把“传话筒”升级成了“电话交换机”。
有一次我出差,在酒店连Wi-Fi,打开浏览器配置了代理,结果死活连不上公司内网。排查了半天,发现是酒店的网络封了非80端口的出站流量。代理服务器监听的是8080,数据包根本出不去。后来我把监听端口改成443,伪装成HTTPS流量,才顺利连上。这种细节,文档里永远不会告诉你。
还有一回,同事让我帮他配代理,他电脑上装了一堆国产软件,系统代理设置被反复篡改。我索性在Nginx里加了`proxy_set_header X-Forwarded-For $remote_addr;`,把真实IP传给目标服务器,方便他在服务端日志里看到访问来源。结果他反过来问我:“为什么我访问百度,百度显示我在北京?”——因为那台服务器就在北京机房。
代理速度的瓶颈,往往不在Nginx本身,而在网络链路。我试过用阿里云香港的轻量服务器搭代理,晚高峰时YouTube视频卡成PPT。后来换成东京的CN2 GIA线路,延迟从200ms降到80ms,体验天差地别。Nginx的配置其实已经优化到头了,剩下的,钱能解决。
最后提醒一句:Nginx默认的`worker_processes`是1,如果你这台服务器CPU核数多,记得改成`auto`,让它自动用满所有核。不然高并发时,你会在`/var/log/nginx/error.log`里看到一堆`worker_connections are not enough`的报错。我一开始就踩过这个坑,日志刷了上百兆。
代理服务器这东西,配好了就是个安静的搬运工。它不生产内容,只是数据的搬运工——但搬得聪明,搬得稳,你就赢了。
Tags:
上一篇:检测网站是否支持ipv6
下一篇:找工作网
相关文章
重庆seo优化用什么软件
休闲重庆做SEO的人,手里没几把顺手的工具,基本等于瞎子摸象。我见过太多本地老板,花几千块买套所谓的“智能优化系统”,结果后台一堆乱码报表,关键词排名纹丝不动。说白了,工具只是放大镜,你得先知道往哪儿照。 ...
【休闲】
阅读更多本地测试网站源码
休闲本地测试网站源码 我把一个写了一半的商城项目从服务器上拽下来,扔进本地环境跑起来,三秒后浏览器里蹦出一行刺眼的红色报错。这不是第一次了,每次改动数据库字段忘记同步,本地测试就会给我点颜色看看。 本地 ...
【休闲】
阅读更多给网站执行自动提交图片操作
休闲给网站执行自动提交图片操作 凌晨三点,我盯着屏幕上的报错日志,第37次手动上传产品图。鼠标点得手酸,眼睛快瞎了。那一刻我发誓,必须写个脚本把这活儿干了。 自动提交图片,本质就三步:读文件、发请求、处 ...
【休闲】
阅读更多