花生壳首页 > 新闻资讯 > nginx端口映射怎么配?用贝锐花生壳把本地Nginx服务发布到外网

nginx端口映射怎么配?用贝锐花生壳把本地Nginx服务发布到外网

不少开发者在本地或公司内网把Nginx跑起来之后,都会卡在同一个问题上:内网访问一切正常,外网却始终连不上。原因并不复杂,绝大多数宽带环境没有固定公网IP,路由器也不在自己手里,改不了端口转发。这时候讨论nginx端口映射,本质上是在讨论两件事——一是让外部请求能找到你的入口,二是让这个入口稳定地把流量送回内网的Nginx服务。贝锐花生壳提供的内网穿透能力,正是围绕这两个目标设计的。

1. 先弄清楚nginx端口映射到底在解决什么问题

Nginx作为反向代理和静态资源服务器,通常监听在本机的80或其他自定义端口上,但这个端口只对同一局域网内可见。所谓nginx端口映射,就是把这个内网端口与外网的一个访问地址建立对应关系,外部用户通过域名加端口访问时,请求会被转发到内网主机的对应端口上。传统做法是在路由器上做虚拟服务器或端口转发,前提是你有公网IP和路由器管理权限;当这两个条件缺一个,端口转发这条路就走不通了,这也是内网穿透方案被广泛使用的原因。

2. 映射之前,先把Nginx的监听信息确认清楚

图片2

动手配置前有两项信息必须先确定。第一是Nginx实际监听的内网端口,可以在配置文件里查看listen指令,也可以在本机用命令行确认端口占用情况;第二是运行Nginx那台机器的局域网IP地址,务必保证它是静态地址,否则机器重启后IP变化,映射就会指向一个不存在的主机。这两项信息对应到映射配置里,就是内网主机和内网端口两个必填项,前者填服务器的局域网IP,后者填服务真正监听的端口号。另外别忘了本机防火墙要放行该端口,否则映射建好了,流量到了机器门口也进不去。

3. 在贝锐花生壳里完成一次nginx端口映射

登录贝锐花生壳管理平台,进入内网穿透页面手动添加一条映射即可。填写时按顺序处理几个关键项:应用名称可以自定义,用于区分不同服务;映射类型根据业务选择,纯网站访问选HTTPS,其他软件类服务选TCP;外网域名选择账号下的加密壳域名;内网主机与内网端口按上一步确认的信息填写。外网端口默认由系统动态分配,属于随机五位数端口,删除映射重建后会发生变化;如果业务需要长期固定的访问入口,可以另行购买固定端口配件。信息确认无误后保存,系统会生成完整的外网访问地址,这个地址就是外部用户访问Nginx服务的入口。

4. 网站类服务建议走HTTPS映射

图片1

如果Nginx承载的是网页站点,映射类型优先选HTTPS。这种映射用于创建加密安全的网站,可直接在浏览器访问,花生壳侧已自动完成证书部署,本地Nginx无需再单独配置证书,访问链路即为加密状态。把局域网内的Web服务发布到外网时,选好映射类型再填写内网主机与端口,保存后自动生成HTTPS访问地址,浏览器直接打开即可验证效果。需要提醒的是,加密壳域名提供国内备案服务,可用于正式对外站点,正式对外运营的站点应绑定已完成ICP备案的自有域名,这一点在搭建之初就该规划好。

5. 映射建好后,按顺序做三步验证

验证要由内向外逐层推进,不要一上来就用外网地址测。第一步,在内网用127.0.0.1或本机局域网IP访问Nginx,确认服务本身正常;第二步,回到花生壳控制台查看该条映射的诊断信息,正常状态会显示连接成功,若没有该提示,说明前面的参数填写或网络环节存在问题;第三步,在完全外网的网络环境(例如手机4G热点)下,用生成的外网域名加端口访问,页面返回与内网一致即代表nginx端口映射链路已经打通。三步中任何一步失败,都能快速定位问题出在应用、映射配置还是外部网络。

6. 几个容易踩的坑,提前避开

第一,同一账号不支持在多地多终端同时登录,异地登录会互踢并导致已建映射失效,多地点发布服务建议用不同账号分别配置。第二,动态端口在映射删除重建后会改变,若外部系统已按旧地址配置,需要同步更新,长期使用建议评估固定端口。第三,白天访问量集中时带宽容易成为瓶颈,可关注夜间带宽加速能力,18:00至次日8:00所有映射带宽翻倍,且速度不低于5Mbps,批量同步、备份这类任务放在该时段执行体验更好。第四,若映射的是群晖NAS、远程桌面、SSH这类常见场景,也可以使用场景映射,系统会自动创建对应映射且不占用自定义映射条数。

常见问题 FAQ

上一篇: 自建私有云怎么做外网访问?用贝锐花生壳把内网服务安全送上公网 下一篇: 免费dns解决的其实是“地址漂移”问题