java - 无法访问计算引擎外部的 Java 应用程序,但它在 localhost 上运行
问题描述
我有一个 dropwizard 应用程序。还有一个 e2-small(2 个 vCPU,2 GB 内存)内存。当我运行传递必要属性的应用程序时,它成功运行而没有错误。(问题结束时的日志片段)
我的应用程序在端口 8080 上运行,并且从我的计算引擎控制台(连接 SSH 后)我做
它按预期返回我。但我无法从外部访问此应用程序。我有外部 IP(云 SQL 也需要),所以我尝试以 http://externalip:8080 访问应用程序,它不会返回任何东西。同样来自计算引擎控制台的 curl http://externalip:8080(连接 SSH 后)不会返回任何内容。
在创建计算引擎实例时,我在防火墙部分允许 http 和 https 流量。
我已经使用相同的外部 IP 设置了我的部署管道(使用第三方工具),它成功地将我的工件复制到了我的计算引擎。所以我确定外部IP已启用。
你能帮我理解可能是什么问题吗?
INFO [2020-11-18 15:32:09,981] org.eclipse.jetty.server.handler.ContextHandler:已启动 idjMutableServletContextHandler@4850a747{/,null,AVAILABLE} INFO [2020-11-18 15:32:09,995] org .eclipse.jetty.server.AbstractConnector:已启动 application@50a0404b{HTTP/1.1,[http/1.1]}{0.0.0.0:8080} 信息 [2020-11-18 15:32:09,997] org.eclipse.jetty。 server.AbstractConnector:已启动 application@e328d88{HTTP/1.1,[http/1.1]}{0.0.0.0:8443} INFO [2020-11-18 15:32:09,998] org.eclipse.jetty.server.AbstractConnector:已启动admin@78ea668{HTTP/1.1,[http/1.1]}{0.0.0.0:8081} INFO [2020-11-18 15:32:09,999] org.eclipse.jetty.server.AbstractConnector:已启动 admin@10af6715{HTTP /1.1,[http/1.1]}{0.0.0.0:8444} 信息 [2020-11-18 15:32:10,000] org.eclipse.jetty.server.Server: 开始@9687ms 127.0.0.1 - - [18/ 2020 年 11 月:15:33:53 +0000] "GET / HTTP/1.1" 200 2314 "-" "curl/7.64.0" 54 127.0.0.1 - - [18/Nov/2020:15:34:13 +0000] "GET / HTTP/1.1" 200 2314 "-" "curl/7.64.0" 3
解决方案
默认情况下,GCP 防火墙拒绝任何入口流量。入口流量是源自网络外部并进入网络的流量同样是来自外部 VM 实例的任何 http 请求都收到连接被拒绝错误的原因。
我跟着
之后我们为我的项目添加了防火墙规则(你也可以使其成为实例级别)并允许解决我的问题的入口流量
推荐阅读
- python - 通过 Python sdk 将所有者添加到 Azure AD 组
- python - 为什么在 pandas 中设置列的值不起作用>
- c - 如何用特定值填充非紧凑结构的所有填充字节?
- c# - 如果我在使用中使用 null 进行初始化,我还会获得 Dispose 优势吗?
- asp.net-mvc - Angular 7 CLI 构建:如何省略模板才能使用 MVC 视图?
- python - 在 ARM64 docker 容器中编译 typed-ast
- python-3.x - getattr 在迭代 webdriver 对象时报告意外异常
- azure - 展开 Azure 虚拟机规模集 (VMSS) 数据磁盘
- image-processing - 自动检测 OCR 所需的角度和歪斜图像
- facebook-graph-api - 如何在 meta expr:content 上添加文本?