【问题标题】:Elastic Beanstalk and Spring Boot Redirect HTTP to HTTPSElastic Beanstalk 和 Spring Boot 将 HTTP 重定向到 HTTPS
【发布时间】:2019-09-21 12:06:59
【问题描述】:

我有一个 Spring Boot 应用程序,其中已编译的 JAR 部署到弹性 beanstalk。

我有一个负载均衡器实例。在这个实例上,我在端口 443 上有一个侦听器,为端口 80 上的 EC2 实例提供 HTTPS。(HTTPS 在负载均衡器处终止)。

在 EB 中,我配置了相同的负载均衡器侦听器。当我使用 HTTPS 向服务器发出请求时,一切都很好。

我想知道如何在确保任何 HTTP 请求转发到 HTTPS 的同时保留此功能,以便负载均衡器实例可以使用 HTTPS 处理它。

【问题讨论】:

    标签: spring-boot https amazon-elastic-beanstalk


    【解决方案1】:

    Elastic Beanstalk 使用 nginx 作为反向代理,将您的应用程序映射到端口 80 上的 Elastic Load Balancing 负载均衡器。Elastic Beanstalk 提供默认 nginx 配置,您可以使用自己的配置扩展或完全覆盖该配置。

    要扩展 Elastic Beanstalk 的默认 nginx 配置,请将 .conf 配置文件添加到应用程序源包中名为 .ebextensions/nginx/conf.d/ 的文件夹中。 Elastic Beanstalk 的 nginx 配置自动在此文件夹中包含 .conf 文件。

    参考link

    将以下块添加到 .ebextensions/nginx/nginx.conf 并重新部署

    server {
        listen 80 default_server;
    
        server_name _;
    
        return 301 https://$host$request_uri;
    }
    

    【讨论】:

      猜你喜欢
      • 2016-06-19
      • 2018-01-01
      • 2021-02-23
      • 2018-01-07
      • 2014-12-26
      • 2019-01-24
      • 2020-02-08
      • 2017-02-27
      • 2017-02-04
      相关资源
      最近更新 更多