需将GCP中宝塔面板的临时外部IP更换为保留的静态外部IP,步骤包括:一、在VPC网络中保留区域级静态IP;二、停止实例后通过网络接口绑定该IP;三、配置防火墙规则放行8888端口;四、SSH登录调整宝塔监听设置并重启服务;五、验证访问并配置SSL。

如果您已在谷歌云GCP中部署宝塔面板,但默认使用的是临时外部IP,需将其更换为保留的静态外部IP以确保访问地址长期稳定。以下是实现该配置的具体步骤:
一、申请并保留外部静态IP地址
在GCP中,外部IP默认为临时分配,随实例停止或删除而释放。必须先在外部IP地址页面创建并保留一个静态IP,才能绑定至目标实例。
1、登录Google Cloud Console,进入“VPC网络” → “外部IP地址”页面。
2、点击“保留静态外部IP地址”按钮。
3、在弹出窗口中,为“名称”字段输入有意义的标识(例如bt-static-ip)。
4、将“类型”设置为区域级(不能选全球级,因需绑定到单个计算实例)。
5、选择与宝塔面板所在虚拟机相同的地区和区域(例如asia-east1-b)。
6、点击“保留”完成创建。
二、解除原临时IP并绑定静态IP至实例
GCP不允许直接修改运行中实例的外部IP,需先停止实例,再通过网络接口编辑方式将新静态IP设为该接口的主要外部IP。
1、在“计算引擎” → “虚拟机实例”页面,找到运行宝塔面板的实例。
2、点击实例名称进入详情页,确认其当前使用的临时外部IP已显示在“外部IP”列。
3、点击页面顶部的“停止”按钮,等待状态变为“已停止”。
4、在实例详情页,点击右上角“编辑”按钮。
5、向下滚动至“网络接口”部分,点击右侧“编辑”图标(铅笔符号)。
6、在“外部IP地址”下拉菜单中,选择刚刚保留的静态IP名称(如bt-static-ip)。
7、保存编辑并返回实例列表。
8、点击“启动”重启实例。
三、验证静态IP是否生效并更新防火墙规则
静态IP绑定后,需确认其正确响应且宝塔面板端口(如8888)未被GCP防火墙拦截,否则仍无法访问。
1、实例重启后,在虚拟机实例列表中查看“外部IP”列,确认显示为保留的静态IP地址而非“无”或“临时”。
2、进入“VPC网络” → “防火墙”页面,检查是否存在允许TCP流量到达8888端口的入站规则。
3、若无对应规则,点击“创建防火墙规则”,设置如下关键项:名称(如allow-bt-8888)、目标(指定标签或所有实例)、源IP范围(0.0.0.0/0)、协议和端口(tcp:8888)。
4、为实例添加网络标签(如bt-server),并在防火墙规则的“目标”中选择“具有特定目标标记的实例”,填入该标签。
5、保存防火墙规则后,等待约1分钟生效。
四、在宝塔面板中确认监听地址与端口配置
即使GCP层IP与防火墙就绪,宝塔面板自身可能限制绑定地址,导致仅响应localhost请求,需调整其服务监听策略。
1、通过SSH连接至该GCP实例,执行命令:bt default 查看面板当前访问地址与端口。
2、运行命令:bt 10 进入面板设置,选择“面板设置” → “面板端口”确认端口为8888(或实际使用的端口)。
3、执行命令:sudo bt 16 进入“面板安全入口”设置,关闭“强制HTTPS”或“仅限内网访问”等可能阻断外网请求的选项。
4、检查宝塔主配置文件 /www/server/panel/data/port.pl,确认内容仅为纯数字端口号(如8888),无其他字符。
5、执行 sudo bt restart 重启面板服务使配置生效。
五、测试外部可访问性与SSL证书适配
静态IP启用后,浏览器直接访问 http://[静态IP]:8888 应能打开宝塔登录页;若启用SSL,则需确保域名解析及证书配置同步更新。
1、在本地终端执行:curl -v http://[静态IP]:8888,观察是否返回HTTP 200及HTML响应头。
2、若使用域名访问,需将域名A记录指向该静态IP,并在宝塔面板“网站”中添加对应站点。
3、进入“SSL”选项卡,为该域名申请Let’s Encrypt证书;注意证书签发时需确保域名DNS已生效且能被公网解析。
4、证书部署成功后,检查面板设置中“强制HTTPS”是否开启,若开启则需确保443端口已在GCP防火墙中放行。











