微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AWS EB – 将所有stream量redirect到https

我的nodejs应用程序部署在AWS EB上。 我已经configuration了https服务器,它工作正常。 现在我需要将每个非https请求redirect到https。 作为前缀,像这样:

GET example.com => https://www.example.com

我正在使用Nginx,而我的EB实例是在它前面没有负载平衡器的单个实例。

我用这段代码在.ebextensions文件夹中创build了一个configuration文件

资源:

sslSecurityGroupIngress:

types:AWS :: EC2 :: SecurityGroupIngress

属性

GroupId:{“Fn :: GetAtt”:[“AWSEBSecurityGroup”,“GroupId”]}

IpProtocol:tcp

ToPort:443

来自港口:443

CidrIp:0.0.0.0/0

文件

/etc/Nginx/conf.d/999_Nginx.conf:

模式:“000644”

所有者:根

组:根

内容:|

上游nodejsserver {

服务器127.0.0.1:8081;

keepalive 256;

}

#HTTP服务器

服务器{

听8080;

server_name localhost;

返回301 https:// $ host $ request_uri;

}

#HTTPS服务器

服务器{

听443;

server_name localhost;

ssl;

ssl_certificate /etc/pki/tls/certs/server.crt;

ssl_certificate_key /etc/pki/tls/certs/server.key;

ssl_session_timeout 5m;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_ciphers“EECDH + AESGCM:EDH + AESGCM:AES256 + EECDH:AES256 + EDH”;

ssl_prefer_server_ciphers;

位置 / {

proxy_pass http:// nodejsserver;

proxy_set_header连接“”;

proxy_http_version 1.1;

proxy_set_header主机$主机;

proxy_set_header X-Real-IP $ remote_addr;

proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto https;

}

}

/etc/pki/tls/certs/server.crt:

模式:“000400”

所有者:根

组:根

内容:|

----- BEGIN CERTIFICATE -----

我的crt

-----结束证书-----

/etc/pki/tls/certs/server.key:

模式:“000400”

所有者:根

组:根

内容:|

-----开始RSA私钥-----

我的钥匙

-----完RSA PRIVATE KEY -----

/etc/Nginx/conf.d/gzip.conf:

内容:|

gzip on;

gzip_comp_level 9;

gzip_http_version 1.0;

gzip_types text /纯文本/ css图像/ png图像/ gif图像/ jpeg应用程序/ json应用程序/ javascript application / x-javascript text / javascript text / xml application / xml application / RSS + xml application / atom + xml application / rdf + XML;

gzip_proxied任何;

gzip_disable“msie6”;

命令:

00_enable_site:

命令:'rm -f / etc / Nginx / sites-enabled / *'

我确定aws正在考虑我的configuration,因为de ssl工作正常。 但是http块不起作用..没有redirect。

Elastic Beanstalk上的Docker部署不收集Nginx日志

脚本在返回头文件之前超时:在弹性beanstalk上的wsgi.py

使用AWS Elastic Beanstalk运行Puma&Nginx的Rails应用程序502

如何强制https在亚马逊弹性beanstalk没有失败的健康检查

在Amazon Elastic Beanstalk Windows环境中启用gzip

也许我的问题是关于重写EB的原始Nginxconfiguration,你知道如何做到这一点?

你能帮我吗? 我尝试了很多东西

谢谢

使用elasticbeanstalkconfiguration文件更改文件权限

AWS aws.push ImportError:Ubuntu中没有名为boto的模块

如何在运行docker实例的amazon elastic beanstalk中更改Nginxconfiguration

AWS Elastic Beanstalk – 请求实体太大(413)

用elasticbeanstalk,java,使用rest服务器和websocket,不能连接

好的,找到了这个问题,EB创建了一个认的配置文件/etc/Nginx/conf.d/00_elastic_beanstalk_proxy.conf ,它正在监听8080.所以你的/etc/Nginx/conf.d/00_elastic_beanstalk_proxy.conf不会被拾取,因为Nginx正在使用之前定义的规则8080。

这是我使用的配置文件的作品。 它生成文件将在认规则之前。

https://github.com/jozzhart/beanstalk-single-forced-ssl-nodejs-pm2/blob/master/.ebextensions/https-redirect.config

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐