在Serverless 应用引擎中,配置内网服务遇到的报错问题怎么解决?[阿里云Serverless]

目前部署web应用碰到一个问题,我部署了一个后端服务到sae2.0上,然后配置了内网访问,在相同vpc的ecs 部署了nginx用于提供前端静态资源同时代理的这个 后端服务器的私网地址。
问题是,在外网访问这个代理的路径的时候,返回400,如果开启公网访问,报401错误,改成正确的地址了,还是有这个问题,而且在ecs上通过curl 是可以正常访问的支持

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. 根据您提供的信息,这里可能是两个不同问题导致的:

    1. 当外网访问代理路径时返回400错误。这可能是由于HTTP头部不匹配或请求格式不正确等原因造成的。请您确认以下几点:
      • Nginx服务器的HTTP头部配置是否正确,如Proxy-Set-Header、Content-Type等参数;
      • 请求的URL是否符合后端服务的要求,例如是否包含无效字符等。
    2. 开启公网访问时返回401错误。这可能是由于未授权访问引起的。请您确认以下几点:
      • 后端服务是否开启了HTTPS,如果有开启的话,需要在Nginx中配置SSL证书;
      • 后端服务是否有鉴权机制,如有,需要在Nginx中添加相关的身份验证信息。
  2. 这个问题可能是由于访问权限控制不当或者是网络配置问题导致的。以下是一些可能的解决办法:

    1. 检查访问权限:确认你的ECS实例是否有权限访问SAE的内网服务。如果没有,你需要在SAE的控制台中为ECS实例添加相应的权限。

    2. 检查网络配置:确认你的ECS实例和SAE实例是否在同一个VPC中,并且已经正确设置了私网IP。如果不是,你需要重新配置网络设置。

    3. 检查Nginx配置:确认你的Nginx配置文件中是否正确设置了代理服务器的私网地址,以及是否正确处理了SSL证书等问题。