gpt4 book ai didi

java - aws elastic beanstalk 上的 HTTP 到 HTTPS 不适用于 Spring Boot

转载 作者:行者123 更新时间:2023-11-30 05:49:36 25 4
gpt4 key购买 nike

我正在尝试让 http -> https 与 elastic beanstalk 一起使用,但他们的文档似乎不起作用。我已设置负载均衡器以成功终止 http 和 https。

http://example.com
https://example.com

两者都有效。

This documentation解释如何将 https 配置为 http 重定向。我将 java-se 与 Spring Boot 一起使用,所以我读过 the readme并将 .ebextensions 放入我的 src/main/resources 文件夹中。

所以我完成的 Spring Boot jar 具有 myapp.jar/BOOT-INF/classes/.ebextensions/nginx/conf.d/elasticbeanstalk/00_application.conf ,其中:

location / {
set $redirect 0;
if ($http_x_forwarded_proto != "https") {
set $redirect 1;
}
if ($http_user_agent ~* "ELB-HealthChecker") {
set $redirect 0;
}
if ($redirect = 1) {
return 301 https://$host$request_uri;
}

proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;

proxy_set_header Connection $connection_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

在里面。但没有任何内容重定向到 https。

最佳答案

好吧,明白了!将 .ebextensions 放在项目的根文件夹中,而不是 src/main/resources 中。然后添加 bootJar 命令将该文件夹粘贴到已完成的 jar 的顶层,AWS 需要将其放置在该位置:

compileKotlin {
kotlinOptions {
freeCompilerArgs = ["-Xjsr305=strict"]
jvmTarget = "1.8"
}

bootJar {
from('.ebextensions') {
into('.ebextensions' )
}
}
}

感谢您对这个问题的回答,让我完成了剩下的事情:

How do you build a folder into the .jar root of a spring boot gradle project?

关于java - aws elastic beanstalk 上的 HTTP 到 HTTPS 不适用于 Spring Boot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54172741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com