我有 NodeJS 和 AngularJS 应用程序。 我正在使用npm install为两个应用程序下载应用程序的依赖项。 NodeJS 应用程序在端口4000上运行,AngularJS 应用程序在端口4200上运行。 我可以从浏览器中的 NodeJS 应用程序访问 API,但无法在浏览器中访问 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我有一个 flask 应用程序在 Azure vm 上的 docker 容器中运行。
应用程序在端口 5000 上运行,我将该端口暴露给 docker
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
57cdce7b5b2b auto_ml2:latest "/bin/sh -c 'python3…" 6 seconds ago Up 5 seconds 0.0.0.0:5000->5000/tcp serene_mcnulty
mlcontainers2@automl:/$
我正在尝试进行以下 API 调用:
headers = {'content-type': 'application/json'}
url = "http://XX.XX.X.XX:5000/api/AutoML"
resp = requests.post(url,data=json.dumps(data), headers=headers )
但过了一会儿,我只是得到一个超时错误:
Failed to establish a new connection: [Errno 110] Connection timed out'))
我认为端口必须关闭,所以我为其添加了一条规则并打开端口 80 和 5000-6000 并重新启动 VM
但在此之后我得到了同样的错误。
编辑
我从虚拟机测试了它,它工作正常:
但是从远程请求中,我不断收到相同的错误:
对于这个问题,首先需要确保可以从VM内部的镜像访问容器。 然后,您需要添加规则以允许与 VM 关联的 NSG 中所需的所有 TCP 端口。 最后,您可以使用 NSG 规则中允许的正确端口通过 VM 公共 IP 访问 VM 外部的 API 服务器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.