阿里函数计算中我有一台ECS,搭建了nginx服务,但是他后续报错了,请问这个有什么解决办法?[阿里云Serverless]

阿里函数计算中我有一台ECS,搭建了nginx服务,并且在该ECS和函数计算上都部署了一个API服务,我希望使用nginx,实现将流量分别分给ECS上的服务和函数计算的服务
但是我直接使用upstream来进行负载均衡,填写函数计算触发器的http域名,结果提示”DomainNameNotFound”
请问这个有什么解决办法?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
3 条回复 A 作者 M 管理员
  1. 如果您直接将阿里云函数计算触发器的 HTTP 域名填入 Nginx 的 upstream 设置中,并收到了 DomainNameNotFound 错误,可能是因为以下几个原因:

    1. 函数计算触发器尚未完全创建:请确认您的函数计算触发器已经成功创建,并且可以正常访问。
    2. 函数计算触发器 DNS 不稳定:请等待几分钟,确保触发器 DNS 已经解析完毕。
    3. 函数计算触发器与 ECS 所在地区不同:请确保您的函数计算触发器与 ECS 所在地区相同,否则可能会出现跨域限制等问题。
    4. 其他网络问题:您可以尝试 ping 函数计算触发器的域名,以确定网络连接是否畅通无阻。
      如果您仍有问题,请尝试以下方法:
    5. 使用公网 IP 地址代替域名:可以将函数计算触发器的公网 IP 地址填入 Nginx 的 upstream 设置中,并尝试访问。
    6. 在 DNS 中增加 A 记录指向函数计算触发器公网 IP 地址:您可以将函数计算触发器的公网 IP 地址添加到 DNS 的 A 记录中,以获得稳定的域名解析结果。
    7. 启用 HTTPS 转发:您可以使用 Nginx 的反向代理功能,将 HTTP 流量转发到 HTTPS 协议,并通过函数计算触发器访问 API。
  2. 这个错误信息表示你提供的域名无法被找到。这可能是由于以下几个原因:

    1. 你提供的域名不正确。你需要提供函数计算触发器的完全合格的域名(FQDN),包括协议(HTTP或HTTPS)、域名和端口号。

    2. 你提供的域名已经被其他服务占用。你需要确保你提供的域名没有被其他服务占用,或者你已经正确地配置了域名的解析和绑定。

    3. 你提供的域名没有正确地配置。你需要在函数计算的控制台中,为你的函数版本配置正确的域名和路由规则。

    你可以尝试以下步骤来解决这个问题:

    1. 确认你提供的域名是正确的。你可以查看函数计算触发器的详细信息,获取正确的域名。

    2. 确认你提供的域名没有被其他服务占用。你可以查看域名的WHOIS信息,或者联系你的域名提供商寻求帮助。

    3. 确认你提供的域名已经正确地配置。你可以查看函数计算的控制台,检查你的函数版本的配置。

  3. 这个您要注意一下 host 那个header,要保证和自定义域名里或者 http 触发器url 一致才行。此回答来自钉群阿里函数计算官网客户。

  4. 当您希望在阿里函数计算中访问另一个云账号下的 SLB IP 时,确实存在一些挑战,因为涉及到跨账号的访问和权限管理。以下是一些可能的解决方案:

    1. 使用云企业网:您可以使用云企业网来实现不同阿里云账号之间的连接。通过创建云企业网并配置对等连接,您可以实现不同账号下的资源的互相访问。

    2. RAM角色授权:通过RAM(Resource Access Management)角色,您可以实现跨云账号的授权。首先,您需要在源账号中创建一个RAM角色,并授予该角色访问目标账号SLB的权限。然后,在目标账号中创建一个托管策略,允许源账号的RAM角色访问SLB。最后,在函数计算服务中,通过控制台或SDK为函数授予相应的RAM角色,从而实现跨账号访问。

    3. 函数级别的权限授权:除了RAM角色,您还可以为函数计算服务授予访问其他云服务的函数级别权限。这意味着您可以为特定的函数单独授权,使其能够访问目标账号的SLB。

    在进行上述配置时,确保仔细考虑安全因素,并仅授予必要的权限。此外,由于涉及多个云账号和资源,建议定期审查和更新相关的IAM策略和权限,以确保安全性和合规性。