Nginx 反向代理入门:把本地服务暴露给外网
本地跑起了一个 Web 服务,端口是 3000,想让别人通过域名访问它,中间最常见的桥梁就是 Nginx 反向代理。用户访问的是 Nginx,Nginx 再把请求转发给后面的本地服务,用户看不到真实的内网端口,服务也不用直接暴露在外网。
一、最简单的反向代理配置:server 监听 80,server_name 为域名,location / 里 proxy_pass http://127.0.0.1:3000,并透传 Host 和 X-Real-IP,否则后端看到的 IP 永远是 127.0.0.1,日志和限流都会失真。
二、改完配置先测试再重载:nginx -t 检查语法,报错会指出行号;确认无误再 nginx -s reload 平滑重载,不中断正在处理的请求,能 reload 就不要 restart。
三、静态文件与接口分流:location / 返回 /var/www/html 静态文件,location /api/ 转发给后端。注意 proxy_pass 末尾斜杠会影响路径拼接,改完一定要实际请求一次验证。
四、常见坑 502:通常不是 Nginx 坏了,而是联系不上后端。排查顺序:确认后端在跑且端口没错,再看防火墙,最后看 /var/log/nginx/error.log 错误日志,报错行会写明连接被拒绝还是超时。
五、最小上线流程:ss -tlnp 查 3000 监听;写好配置 nginx -t;nginx -s reload;从外网 curl -I 访问域名验证。反向代理就是一道会转发的门,先把最简单的 proxy_pass 跑通,再逐步加上静态分流、日志排查能力。
- 点赞
- 收藏
- 关注作者
评论(0)