使用 HTTPS 请求在 Elastic Beanstalk 上设置 API 的问题

Posted

技术标签:

【中文标题】使用 HTTPS 请求在 Elastic Beanstalk 上设置 API 的问题【英文标题】:Issues setting up API on Elastic Beanstalk with HTTPS requests 【发布时间】:2020-03-21 10:18:36 【问题描述】:

所以,我一直在努力争取以下工作:

在 S3 存储桶上托管前端应用程序(支持 HTTPS) 使用 Elastic Beanstalk 托管 Spring Boot API(支持 HTTPS) 从前端应用程序向 API 发出请求(支持 HTTPS)

我当前对 EBS 的设置是,API 位于负载均衡器后面,Route 53 将传入请求定向到负载均衡器,然后将内部 HTTP 请求发送到 EBS。

达到这一点对我来说非常痛苦(这对我来说都是全新的),在设置好之后,我在尝试从我的前端向 API 发出请求时收到一个 CORS 错误 -结尾。我在日志中看不到任何内容,并且我的 Spring Boot CORS 设置为接受所有内容,因此这使我相信负载均衡器导致了 CORS 错误。

我想知道我是否走在正确的轨道上?负载均衡器会导致此问题吗?能解决吗?

【问题讨论】:

【参考方案1】:

将此代码添加到主函数下方的主类中

@Bean
public WebMvcConfigurer corsConfigurer() 
    return new WebMvcConfigurerAdapter() 
        @Override
        public void addCorsMappings(CorsRegistry registry) 
            registry.addMapping("/**").allowedMethods("GET", "POST", "PUT", "DELETE").allowedOrigins("*")
                    .allowedHeaders("*");
        
    ;

【讨论】:

以上是关于使用 HTTPS 请求在 Elastic Beanstalk 上设置 API 的问题的主要内容,如果未能解决你的问题,请参考以下文章

尝试通过 Elastic Bean 在 AWS 上部署我的应用程序时出错

将 MongoDB 与 AWS Elastic Bean 应用程序一起使用

aws elastic beanstalk / S3 该页面是通过 HTTPS 加载的,但请求了一个不安全的 XMLHttpRequest 端点

如何在aws elastic bean上安装redis和celery

对 AWS Elastic Beanstalk 的 HTTPS 请求返回 net::ERR_CERT_COMMON_NAME_INVALID

Elastic beanstalk 请求上的 Node.js 是 HTTPS,但 express 是作为 HTTP 服务的。这安全吗?