Nginx 反向代理入门:把本地服务暴露给外网

举报
yd_250779715 发表于 2026/10/27 06:09:20 2026/10/27
【摘要】 本地跑起了一个 Web 服务,端口是 3000,想让别人通过域名访问它,中间最常见的桥梁就是 Nginx 反向代理。用户访问的是 Nginx,Nginx 再把请求转发给后面的本地服务,用户看不到真实的内网端口,服务也不用直接暴露在外网。一、最简单的反向代理配置:server 监听 80,server_name 为域名,location / 里 proxy_pass http://127.0....

本地跑起了一个 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 跑通,再逐步加上静态分流、日志排查能力。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。