Google VM通过Cloud Identity-Aware Proxy连接报错4010及npm构建卡顿断连问题
解决方案
IAP 4010(destination read failed)错误修复
- 确认IAP专用防火墙规则配置正确:必须放行
35.235.240.0/20IP段的22端口入站流量,规则优先级高于其他屏蔽22端口的规则,且规则作用范围覆盖当前e2-micro实例(要么作用于全部实例,要么实例绑定了规则对应的网络标签) - 确认账号权限:你的谷歌云账号需要具备
roles/iap.tunnelResourceAccessor角色,否则会被IAP拦截访问 - 检查实例SSH服务状态:重启实例后若能临时连接,运行
sudo systemctl status sshd查看SSH服务运行状态,若服务异常运行sudo systemctl restart sshd重启即可
npm构建慢+连接断开问题修复
该问题核心是e2-micro实例的1GB内存不足以支撑React构建的资源需求,内存占满后会被内核主动杀掉SSH进程导致连接断开,按以下步骤优化即可:
- 配置交换分区缓解内存不足问题,依次执行以下命令:
# 创建2GB交换文件 sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile # 配置开机自动挂载 echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
- 限制Node.js构建时的内存占用,运行构建的命令修改为:
NODE_OPTIONS=--max-old-space-size=1024 npm run build
- 后台运行构建任务避免SSH断开影响构建进度:
nohup npm run build & # 可随时执行以下命令查看构建日志 tail -f nohup.out
- 可选优化:若长期需要在实例上做构建操作,可临时将实例规格升级到e2-small(2GB内存),构建完成后再降回e2-micro,兼顾成本和构建效率。
内容的提问来源于stack exchange,提问作者Lucas Miyazaki
相关产品推荐
相关产品推荐

