我正在尝试使用API网关将流量路由到内部网络负载平衡器。
所有通往基本路径的路线(/(都在工作,所以我知道VPC链接已上升并且可以触及。
我使用任何HTTP方法添加了一个代理资源(/{Proxy }(。在我选择的任何"集成请求"中:
- 集成类型:VPC链接
- 使用代理集成
- 方法:任何
- VPC链接:my-vpc-link(abcdefg(
- 端点URL :(即http://abcd1234.cloudfront.net/{proxy}(
我可以看到我的Web服务器以重定向响应:
(b9d0c629-31ec-11e8-b452-0f13c3c62b81) Endpoint response body before
transformations: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>Redirecting...</title>
<h1>Redirecting...</h1>
<p>You should be redirected automatically to target URL: <a href="http://abcd1234.cloudfront.net/api/">http://abcd1234.cloudfront.net/api/</a>. If not click the link.
(b9d0c629-31ec-11e8-b452-0f13c3c62b81) Method completed with status: 301
网页显示:
{"message":"Forbidden"}
另外,如果我尝试直接链接到CloudFront URL,则会遇到相同的错误。
除了CloudFront URL外,我还尝试了以下内容:
自定义域名
403禁止
我部署的阶段的URL
{"消息":"内部服务器错误"}
集成请求中的"端点URL"字段中应该有什么URL?
事实证明,API-GATEWAY必须使用'http'而不是'https'呼叫VPC链接,vpc link url。
在您对API网关的配置中,一切似乎都按顺序进行,包括端点URL。
我的猜测是您正在用重定向搞砸一些东西。您的服务器可能一次又一次地重定向到同一位置,还是重定向规则始终适用?
确保问题在您的服务器方面,请尝试更简单的设置。尝试将API调用到不重新定向的地方,只需返回简单的响应。