作为Web服务领域的“流量守门人”,Nginx的端口配置是保障服务正常访问的“第一道关卡”——不少新手在部署时,常因端口没开对导致网站“打不开”,甚至暴露安全风险。今天就把Nginx的核心端口逻辑讲透,帮你避开90%的配置坑。
一、默认“必开”的基础端口:80 & 443
这两个是Nginx最常用的“门面端口”,直接对接用户浏览器:
- 80端口(HTTP协议默认端口):
当你在浏览器输入http://你的域名时,默认会向服务器80端口发起请求。早期网站大多用80端口,但如今HTTPS普及后,80更多被用来做“重定向跳板”——把所有HTTP请求强制转到443端口,避免浏览器标“不安全”。 - 443端口(HTTPS协议默认端口):
这是现在生产环境的“标配端口”。启用443需要搭配SSL证书(比如Let’s Encrypt免费证书),在Nginx配置里通过listen 443 ssl;开启。只要防火墙开放443,用户就能通过https://你的域名访问加密服务,既安全又符合浏览器的“信任标准”。
二、反向代理场景:别混淆“监听端口”和“后端端口”
如果用Nginx做反向代理(比如转发请求到Tomcat、Node.js或Spring Boot服务),要分清两个概念:

- Nginx自身监听的端口:还是80/443(或自定义端口),外部用户只需要访问这个端口;
- 后端服务的端口(比如Tomcat的8080、Node.js的3000):这些端口不需要对外开放(避免暴露风险),只需允许Nginx所在服务器“内部访问”即可——你要做的是在Nginx配置里用
proxy_pass指向后端端口,比如proxy_pass http://127.0.0.1:8080;。
三、自定义端口:防火墙别忘同步开放
如果你的业务需要Nginx监听非默认端口(比如8081、8090),只需在Nginx的server块里修改listen指令(比如listen 8081;),但关键一步别漏:
服务器的防火墙要同步开放这个端口!比如CentOS用firewalld的话,需执行firewall-cmd --add-port=8081/tcp --permanent(永久开放),再firewall-cmd --reload生效;Ubuntu则用ufw allow 8081。要是忘了开防火墙,就算Nginx配置正确,外部也无法访问。
四、安全提醒:端口别“多开乱开”
最后划重点:端口并非开得越多越好。不必要的端口(比如测试用的临时端口)要及时关闭,避免成为黑客攻击的“突破口”;同时建议把80端口重定向到443,彻底关闭HTTP的明文传输风险。
总之,Nginx的端口逻辑核心是“按需开放”:默认场景盯紧80和443,反向代理聚焦“Nginx自身监听端口”,自定义端口要同步配置防火墙。搞懂这几点,你的Nginx服务就能既稳定又安全。
文章版权声明:除非注明,否则均为婉秋博客原创文章,转载或复制请以超链接形式并注明出处。