我花了3天才搞懂的Nginx反向代理,其实5分钟就能搞定
前两天有个朋友问我,说他的博客部署好了但域名死活解析不过去,折腾了两天差点放弃。我一听就知道,又是Nginx配置那点事儿。
说实话我当年也一样,看着那堆配置文件头都大了。什么upstream、proxy_pass、location匹配规则...感觉得考个证才能写。但后来发现,90%的场景就那几行代码的事。
最简单的反向代理配置长这样:
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
就这?对,就这。我朋友看完说"你早给我看这个我能省三天"。
不过有个坑得提前说——SSL证书那块。如果你用Let's Encrypt,记得先装certbot,然后一行命令搞定:certbot --nginx -d yourdomain.com。自动帮你改配置还自动续期,真香。
还有个常见问题是WebSocket连不上。如果你的博客用了实时评论之类的功能,得加上这几行:
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
不然你的WebSocket会被Nginx无情掐断,排查半天还以为是前端代码的锅...
说到底Nginx这东西,配置简单但文档写得像天书。建议直接看别人的实际配置照抄,比读官方文档效率高10倍。
还木有评论哦,快来抢沙发吧~