NodeJS MongoDB Atlas阻止来自Azure Web应用的请求,即使在将Web应用出站IP地址添加到MongoDB Atlas>网络访问后也是如此

a1o7rhls  于 2023-01-30  发布在  Node.js
关注(0)|答案(1)|浏览(131)
    • 重现步骤**
    • 01)**一月一日〉一月一日〉一月二日〉一月三日〉一月四日
    • 02)**第一个月五日至第一个月六日至第一个月七日至第一个月

(for Web应用程序的每个传出IP地址和我自己的PC IP地址进行本地测试)

    • 预期行为**

我可以向MongoDB Atlas提出请求。

    • 实际行为**

它的工作原理是:

  • 在当地环境中
  • 在非本地环境中(即从Azure Web应用调用),如果我在MongoDB AtlasNetwork Access中"允许从任何位置访问"

它不起作用:

  • 在非本地环境中(即从Azure Web应用调用),如果我在MongoDB AtlasNetwork Access中删除"允许从任何位置访问"

它超时并在Azure Web应用日志流中显示此消息,然后应用崩溃:

/home/site/wwwroot/node_modules/mongodb/lib/sdam/topology.js:543
drainWaitQueue(topology[kWaitQueue], new error_1.MongoTopologyClosedError());
MongoTopologyClosedError: Topology is closed
at processWaitQueue (/home/site/wwwroot/node_modules/mongodb/lib/sdam/topology.js:543:46)
at Topology.selectServer (/home/site/wwwroot/node_modules/mongodb/lib/sdam/topology.js:290:9)
at Topology.<anonymous> (/home/site/wwwroot/node_modules/mongodb/lib/sdam/topology.js:43:94)
at node:internal/util:364:7
at new Promise (<anonymous>)
at Topology.selectServerAsync (node:internal/util:350:12)
at executeOperationAsync (/home/site/wwwroot/node_modules/mongodb/lib/operations/execute_operation.js:39:24)
at /home/site/wwwroot/node_modules/mongodb/lib/operations/execute_operation.js:12:45
at maybeCallback (/home/site/wwwroot/node_modules/mongodb/lib/utils.js:338:21)
at executeOperation (/home/site/wwwroot/node_modules/mongodb/lib/operations/execute_operation.js:12:38) {
[Symbol(errorLabels)]: Set(0) {}
}

我正在测试Web应用程序服务,因此如果不支付支持订阅费用,就无法获得Microsoft支持。
我非常确定我正确添加了所有IP地址。

  • 相关阅读 *

How can I determine the IP address of an Azure hosted WebApp

piv4azn7

piv4azn71#

这个办法奏效了:

01)portal.azure.com[ select my web app service ]PropertiesOutbound IP addresses[ copy ](这有7个IP地址)
02)portal.azure.com[ select my web app service ]PropertiesAdditional Outbound IP Addresses[ copy ](这有25个IP地址,包括上面的6个)
**03)**一个月十个月一次〉一个月十个月一次〉一个月十二个月一次

(for Web应用程序的每个传出IP地址和我自己的PC IP地址(用于本地测试)
我最初没有添加这些“额外”IP地址的原因是Azure中Additional Outbound IP Addresses部分旁边的帮助文本指出:
其他出站IP地址表示在Premium V2或其他SKU中运行时可以使用的所有可能出站地址的并集。
我使用的是免费层,所以不知道为什么这些额外的IP的被利用。
另一个人似乎在这里经历了同样的行为:
https://stackoverflow.com/a/72436266

相关问题