- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试在 Google Compute Engine 上托管 TCP 套接字服务器,我在 GCE 防火墙规则上添加了以下规则(套接字端口 0.0.0.0/0 tcp:11000 适用于所有目标)但端口是仍然无法使用公共(public) IP 从外部访问(在我的情况下是短暂的)。
在这种情况下是否还有更多工作要做?我应该在 VM 本身上使用 ufw 来设置额外的规则吗?
如有任何帮助或提示,我们将不胜感激。
编辑:1)防火墙设置:
NAME NETWORK SRC_RANGES RULES SRC_TAGS TARGET_TAGS
默认允许 http 默认 0.0.0.0/0 tcp:80 http 服务器
默认允许 https 默认 0.0.0.0/0 tcp:443 https 服务器
默认允许 icmp 默认 0.0.0.0/0 icmp
默认允许内部默认 10.128.0.0/9 tcp:0-65535,udp:0-65535,icmp
默认允许 rdp 默认 0.0.0.0/0 tcp:3389
默认允许 ssh 默认 0.0.0.0/0 tcp:22
套接字端口默认 0.0.0.0/0 tcp:11000
2) 在 VM 本身上,SocketListener 类 (C#) 给出错误:
Cannot assign requested address at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.Bind(EndPoint localEP)
"IPEndpoint由 native 公网IP和11000端口组成
最佳答案
这是 GCE 的经典问题,您必须将服务器套接字绑定(bind)到 0.0.0.0,而不是外部 IP。我不知道这是否是设计使然。
外部IP是虚拟IP。基础架构知道如何将以 IP 为目标的流量定向到您的 VM,但它未绑定(bind)到 VM 的任何网络接口(interface)。如果您在 VM 中运行 sudo ifconfig
,您只会在 eth0 上看到内部 IP。
关于c# - GCE 允许特定端口上的传入流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39817971/
我确信许多 GKE 客户都在混合 GCE/GKE 环境中工作。 目前,集群中的 skyDNS 服务没有在同一个项目中暴露 GCE 主机。 DNS 服务使用的这个 IP 地址范围不同于普通的应用程序服务
我有两个 GCE,都启用了操作系统登录: 1) 使用服务帐户 a_svc 配置的 a_vm 2) 使用服务帐户 b_svc 配置的 b_vm a_svc 具有对 b_vm 的操作系统登录访问权限。 a
我需要使用 Ansible 向现有 GCE 实例添加额外的磁盘 磁盘是用gce_pd模块创建的: - name : Add new disk local_action: module: g
在Google compute engine我可以使用 instance template从模板创建新 VM。使用 GCE 控制台可以正常工作,使用 API 也可以正常工作,也是(URL 参数“sou
我用 pip 安装了 ansible、apache-libcloud。此外,我可以将 gcloud cli 和 ansible 作品用于任何与 gce 无关的剧本。 在ansible playbo
与安装了 LAMP 的 GCE 相比,选择与 Google Cloud SQL 链接的 GCE 实例有哪些优势? 我确定 GCE 是可扩展的,但是安装在其上的 mysql 数据库的可扩展性如何? 使用
我想我想要一个 shell 脚本来自动重启一个实例,无论它是因为软件问题还是硬件问题而崩溃。 操作系统是 Ubuntu 18.04。 最佳答案 可能会有很多解决方案。您可能会考虑使用 Google S
尝试配置GCE Discovery。 在elasticsearch.yml中有这个 cloud: gce: project_id: .......... zone: us-
我使用以下命令设置我的 CD 以将容器部署到 gce: gcloud compute instances stop my-awesome-app gcloud compute instances up
我正在GKE上运行kubernetes应用程序,该应用程序在端口80上提供HTTP请求,并在端口8080上提供websocket。 现在,HTTP部分需要知道客户端的IP地址,因此我必须使用HTTP负
我正在寻找一种在 GCE 中创建内部 HTTPS L7 入口 Controller 的方法,但似乎没有任何关于如何做到这一点的文档。我看到有一种方法可以创建一个内部的 L4 LoadBalancer,
我正在尝试在 Google Compute Engine 上托管 TCP 套接字服务器,我在 GCE 防火墙规则上添加了以下规则(套接字端口 0.0.0.0/0 tcp:11000 适用于所有目标)但
图片:Debian GNU/Linux 7.6 (wheezy) amd64,带有 backports 内核和 SSH 包,构建于 2014-10-17 机器类型:n1-highcpu-2(2 个 v
我正在试用该平台。我已成功配置和设置 CENTOS v6 VM,然后添加 whm/cpanel。我在防火墙方面遇到了一些问题,我确信这些问题是在 Google Cloud 方面。我已经阅读了我的眼睛,
长话短说 - 我需要在项目之间使用网络来为它们单独计费。 我想从一个点访问不同项目中的所有 VM,我将用于配置系统(我们称之为协调器节点)。 看起来 VPC 网络对等是一个完美的解决方案。但不幸的是,
如何访问 Google Compute Engine 虚拟机实例的控制台? 最佳答案 要查看控制台输出(只读),您可以使用以下任何一种方法: Web UI 通过 Developers Console
我正在尝试使用需要 gce_client_id 和 gce_client_secret key 的第 3 方应用程序。为了生成它们,我浏览了凭据图标并尝试创建一个 OAuth 2.0 客户端 ID。但
我有一个执行单个大型计算的 Docker 容器。此计算需要大量内存,运行时间约为 12 小时。 我可以创建一个适当大小的 Google Compute Engine VM,并使用“将容器镜像部署到此
我有一个 docker 镜像上传到 GCP 容器注册表,其中包含一个在 TomEE 和 postgres 上运行的 Web 应用程序,用于数据持久性。我创建了一个计算引擎实例,并使用如下命令在端口 8
当我在 GCE 中创建一个新实例时,我可以毫无问题地 ssh 到那个新实例。 gcutil 检查我是否有 key (google_compute_engine),如果没有,它将为我创建它们。然后它将
我是一名优秀的程序员,十分优秀!