我今天申请了一个FC,又申请了一个MongoDB,而且我在MongoDB的白名单中写了0.0.0.0/0,然后我发现在FC中调用MongoDB,用内网连接字符串是连不上的,但是用外网连接字符串就能连上。为什么这样呢?我现在只是在测试。将来是要把这个0.0.0.0/0删掉的。
在阿里云上,如果您的函数计算服务和 MongoDB 数据库服务在同一地域内,并且都在同一个 VPC 网络内,可以使用内网连接字符串进行连接。如果您使用了 0.0.0.0/0 的白名单,MongoDB 数据库服务会接受来自任何 IP 地址的请求,包括来自公网的请求。
如果您使用内网连接字符串无法连接 MongoDB 数据库服务,可能是以下原因导致的:
VPC 网络配置不正确:如果您的函数计算服务和 MongoDB 数据库服务不在同一个 VPC 网络内,或者 VPC 网络配置不正确,可能导致无法使用内网连接字符串进行连接。请确保您的函数计算服务和 MongoDB 数据库服务都在同一个 VPC 网络内,并且 VPC 网络配置正确。
内网连接字符串不正确:如果您使用的内网连接字符串不正确,可能导致无法连接 MongoDB 数据库服务。请确保您使用的内网连接字符串正确,例如包括了 MongoDB 数据库服务的 VPC ID 和实例 ID 等信息。
安全组规则不正确:如果您的 MongoDB 数据库服务设置了安全组规则,可能会阻止来自函数计算服务的请求。请确保您的安全组规则允许来自函数计算服务所在的 VPC 网络的流量通过。
需要注意的是,使用 0.0.0.0/0 的白名单可能存在安全风险,建议您在测试完成后及时删除白名单规则,以提高系统的安全性。如果您需要在生产环境中使用 MongoDB 数据库服务,建议您使用安全的网络连接方式,例如使用内网连接字符串,并限制白名单规则以防止未授权的访问。
想使用内网就配置 VPC,然后函数服务配置 VPC。
使用专有版 WebIDE进行调试
此答案来自钉钉群“Serverless 开发者技术学习群"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。