谷歌云代理商:如何配置谷歌云服务器的端口转发?

本文由【云老大】 TG@yunlaoda360 撰写

外部协议转发

  1. 创建防火墙规则:创建一个允许外部流量到达目标实例的防火墙规则。

    bash

    ini 复制代码
    gcloud compute firewall-rules create ALLOW_IPV4_FIREWALL_RULE_NAME \
        --target-tags=allow-ipv4-ext \
        --allow=tcp:80 \
        --source-ranges=0.0.0.0/0
  2. 创建虚拟机实例:创建一个虚拟机实例,并在实例上安装所需的服务器软件(如Apache)。

    bash

    sql 复制代码
    gcloud compute instances create VM_INSTANCE_NAME \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ipv4-ext \
        --metadata=startup-script='#! /bin/bash
        sudo apt-get update
        sudo apt-get install apache2 -y
        sudo a2ensite default-ssl
        sudo a2enmod ssl
        vm_hostname="$(curl -H "Metadata-Flavor:Google" \
        http://169.254.169.254/computeMetadata/v1/instance/name)"
        echo "Page served from: $vm_hostname" | \
        tee /var/www/html/index.html
        sudo systemctl restart apache2'
  3. 创建目标实例:创建一个目标实例,该实例包含上一步创建的虚拟机。

    bash

    ini 复制代码
    gcloud compute target-instances create TARGET_INSTANCE_NAME \
        --instance=VM_INSTANCE_NAME \
        --zone=ZONE
  4. 预留静态外部IP地址:预留一个静态外部IPv4地址。

    bash

    ini 复制代码
    gcloud compute addresses create IPV4_ADDRESS \
        --region=REGION
  5. 创建转发规则:创建一个转发规则,将TCP流量转发到目标实例。

    bash

    ini 复制代码
    gcloud compute forwarding-rules create IPV4_FORWARDING_RULE_NAME \
        --load-balancing-scheme=EXTERNAL \
        --region=REGION \
        --ip-protocol=TCP \
        --address=IPV4_ADDRESS \
        --ports=80 \
        --target-instance=TARGET_INSTANCE_NAME \
        --target-instance-zone=ZONE
  6. 测试设置 :获取转发规则的IP地址,并使用curl命令测试设置是否成功。

内部协议转发

  1. 创建目标实例:创建一个目标实例,该实例包含虚拟机。

    bash

    ini 复制代码
    gcloud compute target-instances create TARGET_INSTANCE_NAME \
        --instance=VM_INSTANCE_NAME \
        --zone=ZONE
  2. 创建转发规则:创建一个转发规则,将TCP流量转发到目标实例。

    bash

    ini 复制代码
    gcloud compute forwarding-rules create IPV4_FORWARDING_RULE_NAME \
        --load-balancing-scheme=INTERNAL \
        --network-tier=PREMIUM \
        --region=REGION \
        --ip-protocol=TCP \
        --ports=80 \
        --target-instance=TARGET_INSTANCE_NAME \
        --target-instance-zone=ZONE
  3. 创建测试客户端虚拟机:创建一个测试客户端虚拟机,用于发送流量到转发规则的IP地址。

    bash

    ini 复制代码
    gcloud compute instances create CLIENT_VM_NAME \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ssh
  4. 测试设置 :获取转发规则的IP地址,并使用curl命令测试设置是否成功。

相关推荐
vivo互联网技术4 分钟前
vivo 微服务架构实践之 Dubbo 性能优化
java·后端·微服务·中间件·dubbo
仙俊红5 分钟前
Spring 构造器注入 vs 字段注入
java·后端·spring
0和1的舞者9 分钟前
Spring 事务核心知识点全梳理(编程式 + 声明式 + 注解详解)
java·后端·spring
风象南13 分钟前
Spring Boot 中使用 JSONPath 高效处理 JSON 数据
后端
用户6956194403733 分钟前
PageOffice最简集成代码(SpringMVC)
java·后端
程序员爱钓鱼36 分钟前
Node.js 编程实战:博客系统 —— 用户注册登录与文章管理
前端·后端·node.js
掘金者阿豪42 分钟前
在Java项目中,如果没有使用Redis相关的代码或依赖,但在 `application.yaml` 配置文件中配置了Redis参数,项目启动时是否会报错
后端
几颗流星1 小时前
使用 Rust + Axum 构建灵活的 API 模拟服务器
后端·rust
小杨同学491 小时前
【嵌入式 C 语言实战】单链表的完整实现与核心操作详解
后端·算法·架构