【问题标题】:Forward requests from example.com:8000 (old REST API) to api.example.com (new REST API) on AWS将请求从 example.com:8000(旧 REST API)转发到 AWS 上的 api.example.com(新 REST API)
【发布时间】:2019-04-14 12:32:36
【问题描述】:

所以我有这个问题,我有点困惑从哪里开始。我有一个 Django REST API 当前在 VPS(使用 apache)上运行,并以 djangos runserver 命令开始(我知道,我知道,这不是最好的方法),因此目前通过 http://example.com:8000/api 访问它。

我现在正在迁移到 AWS 并使用 Elastic Beanstalk 来运行我新创建的 Django REST API。我想保留类似example.com/apiapi.example.com 的域。现在这对我来说应该没问题,但我现在遇到的问题是我想使用旧 API 将所有旧请求转发到新 API。最好的方法是什么?

任何帮助将不胜感激! :)

【问题讨论】:

  • 重要的是要知道,如果您的 API 使用 POST,那么它可能会或可能不会被重定向正确支持。有关更多详细信息,请参阅here

标签: amazon-web-services amazon-s3 amazon-ec2 amazon-route53 amazon-elastic-beanstalk


【解决方案1】:

有两种方法可以做到这一点。

  • 重写
  • 重定向

重写:

通过重写,您可以使用旧 api 读取内容并根据相同的请求提供服务。

重定向:

通过重定向,您可以将带有重定向位置的 302 发送到您的新 API 网址。

http://example.com:8000/api/something 的任何请求都将以http 状态代码302 和http://example.com/api/somethinghttp://api.example.com/something 的位置响应

如果您不希望使用旧的 API,那么最好重定向到新的目的地。

如果可以在客户端更改 URL,那么您可以放弃维护旧端点或任何这些过程。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2017-01-19
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    相关资源
    最近更新 更多