我希望在以nginx作为代理系统的Elastic Beanstalk上从HTTP请求重定向到HTTPS。
我在Google上找到了很多建议,但没有人提供帮助,它没有重定向。
这是我当前在Column
目录中的test.config
文件:
.ebexentions
我还尝试了无数其他设置,但没有一个起作用。
希望您能帮助我。 :)
答案 0 :(得分:1)
This是唯一可行的解决方案。
在AWS创建默认nginx文件后,有必要覆盖它。因此,必须再有两个文件:
答案 1 :(得分:0)
当我尝试使用Nginx在我的AWS Elastic Beanstalk Go环境中将所有HTTP通信重定向到HTTPS时,遇到了类似的问题。这是解决方案,由AWS支持团队提供:
在以下目录结构中的应用程序代码的根目录下创建一个文件。
.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;
}
有关AWS提供的配置文件的完整列表,您应签出this link。
答案 2 :(得分:0)
要实现的目标,我使用给定的nginx.conf自定义完全覆盖了原始nginx.conf以及一些位置指令的自定义配置
.plateform
-- nginx
-- nginx.conf
-- conf.d
-- elasticbeanstalk
--custom.conf
这是我的nginx.conf
user nginx;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
worker_processes auto;
worker_rlimit_nofile 32153;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
include conf.d/*.conf;
map $http_upgrade $connection_upgrade {
default "upgrade";
}
server {
listen 80 default_server;
access_log /var/log/nginx/access.log main;
client_header_timeout 60;
client_body_timeout 60;
keepalive_timeout 60;
gzip off;
gzip_comp_level 4;
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
# Include the Elastic Beanstalk generated locations
include conf.d/elasticbeanstalk/*.conf;
}
}
以下内容将帮助我安全地覆盖配置
include conf.d/elasticbeanstalk/*.conf;