谷歌云认证账号 谷歌云服务器常用端口设置
你有没有试过:辛辛苦苦配好一个Web服务,浏览器死活打不开,F12一看Network全是ERR_CONNECTION_REFUSED?然后翻日志、查进程、重装Nginx……最后发现——哦,谷歌云防火墙根本没放80端口。
别笑,这事儿我干过三次。第一次以为是Apache没启动,第二次怀疑是SELinux作祟,第三次才恍然大悟:GCP的防火墙规则,跟本地iptables不是一回事,它压根不认你服务器上那套ufw或firewalld。它有自己的脾气,自己的语法,自己的“默认拒绝一切”祖训。
所以今天这篇,不聊高大上的架构图,也不甩一堆术语堆砌。咱们就当面锣对面鼓,把谷歌云服务器上那些真·常用端口怎么开、为什么这么开、不开会怎样、开了又怕什么,一条条掰开揉碎了说清楚。
一、先划重点:GCP防火墙 ≠ 服务器防火墙
这是90%新手栽跟头的第一块砖。你在Ubuntu里执行sudo ufw allow 3306,MySQL端口在系统层是通了;但GCP的网络防火墙(VPC Firewall Rules)像一道透明玻璃墙,横在你的实例和互联网之间——它不管你系统里开了啥,只看你有没有给它发“通行许可”。
换句话说:系统防火墙管进程间通信,GCP防火墙管进出实例的流量。两者必须同时点头,请求才能抵达你的应用。
二、最常打交道的5个端口,怎么开才不翻车?
✅ SSH(端口22):命门,但别裸奔
默认情况下,GCP新建实例会自动创建一条名为default-allow-ssh的防火墙规则,允许TCP 22从任意IP(0.0.0.0/0)接入。听着很爽?醒醒,这等于把家门钥匙挂小区公告栏上。
实操建议:
• 进入Networking → VPC network → Firewall,找到这条规则,点击编辑;
• 把Source IP ranges从0.0.0.0/0改成你办公室/家庭公网IP(比如203.123.45.67/32);
• 如果你用Cloud Shell或IAP(Identity-Aware Proxy)登录,干脆禁用该规则,改走更安全的隧道通道。
✅ HTTP(端口80) & HTTPS(端口443):网站的脸面
这两口子永远绑定出场。GCP默认不放行,所以哪怕Nginx跑得比兔子还欢,外网也看不见你首页的“Welcome to nginx!”。
两步到位:
1. 新建规则,名称比如allow-http-https;
2. 设置:
• Direction: Ingress(进来的流量)
• Targets: All instances in the network 或指定标签(推荐后者,更可控)
• Source IP ranges: 0.0.0.0/0(网页必须对外)
• Protocols and ports: 勾选TCP,填入80,443
⚠️ 注意:别手滑写成tcp:80,443——GCP不认这个格式,要直接写数字逗号分隔。
✅ MySQL/MariaDB(端口3306):别让它裸泳
开发时图省事,开3306给全世界?恭喜,你的数据库可能正被Bot扫描到第17次爆破尝试。
安全姿势:
• 绝对不要对0.0.0.0/0开放3306;
• 正确做法:只允许你的应用服务器IP(比如另一台GCP实例的内网IP10.128.0.5/32)或跳板机IP;
• 更进一步:用Cloud SQL替代自建MySQL——它自带加密连接、IP白名单、自动备份,省心还不贵。
✅ Redis(端口6379):缓存不是公共厕所
同理!Redis默认无密码,开在公网=送分题。某次我帮客户救火,发现Redis被用来挖矿,原因就是防火墙规则写着0.0.0.0/0 → 6379……
解法:仅允许应用服务器内网IP访问;或启用Redis密码+rename-command(重命名CONFIG指令);生产环境强烈建议走VPC Peering或Private Google Access。
✅ 自定义端口(比如Node.js的3000、Python Flask的5000)
本地调试没问题,一上云就404?八成是防火墙拦着呢。
操作同HTTP规则,只是把端口换成你的应用端口,例如TCP:3000。但请记住:别长期用3000/5000直接对外——上Nginx反向代理,既统一入口,又能加SSL、限流、日志。
三、两个神坑,踩中一个重启半小时
坑一:“我已经开了80,为啥还是连不上?”
→ 检查三点:① 实例是否打了http-server标签(防火墙规则Target tags必须匹配);② 实例所在网络是否选对(别在default网络开了规则,实例却在custom-vpc里);③ 应用是否监听0.0.0.0:80而非127.0.0.1:80(后者只接受本机访问)。
坑二:“gcloud命令怎么写?总报错!”
别背参数,记这个模板:gcloud compute firewall-rules create RULE_NAME \
--direction=INGRESS \
--priority=1000 \
--network=default \
--action=ALLOW \
--rules=tcp:80,tcp:443 \
--source-ranges=0.0.0.0/0 \
--target-tags=web-server
替换RULE_NAME和target-tags即可,复制粘贴不手抖。
四、进阶建议:让端口管理优雅起来
- 用网络标签(Network Tags)做最小权限:给Web服务器打
web-server标签,数据库机打db-server,防火墙规则精准命中,避免“一刀切”; - 谷歌云认证账号 日志审计不能少:在防火墙规则里勾选“Enable logging”,出问题时翻Logging → Logs Explorer,看谁在扫你22端口;
- 定期清理僵尸规则:半年前为临时测试开的
allow-test-9999,早该删了——规则越多,越容易互相打架。
五、最后说句实在话
端口不是越多越好,安全不是越堵越强。真正靠谱的配置,是清楚每个开放的端口背后,都有明确的服务、受控的来源、定期的复核。与其花两小时研究“如何一键全开所有端口”,不如花十分钟,把22、80、443这仨口子管明白。
毕竟,云计算不是魔法——它只是把运维的复杂性,从物理机柜搬到了控制台里。而真正的高手,从不靠运气打通端口,只靠逻辑闭环守住边界。
(完)
如果需要更深入咨询了解可以联系全球代理上TG: @cloudcup 他们在云平台领域有更专业的知识和建议,他们有国际阿里云,国际腾讯云,国际华为云,aws亚马逊,谷歌云一级代理的渠道,微软云开户充值。oss防风控上传加密系统。客服1V1服务,支持免实名、免备案、免绑卡。开通即享专属VIP优惠、充值秒到账、官网下单享双重售后支持。