我正在尝试找出管理EB Docker应用程序的HTTPS的最佳方法。AWS Elastic Beanstalk VPC - 从ELB到HTTPS实例
此刻我正在使用以下方法。
- ELB接受443上的HTTPS连接,并转发到实例上的HTTP端口80。
- ELB接受80上的HTTP连接,并转发到实例上的HTTP端口8080。
- 实例接受端口80上的HTTP连接并转发到docker应用程序。
- 实例接受端口8080上的HTTP连接并将它们重定向到HTTPS。
这一切都工作得很好。这意味着码头应用程序根本不必担心重定向。它只是监听端口80,并且它是事情。剩下的就是ELB和码头主持人。
我只关心这个设置,是码头应用程序不知道它运行的安全。如果在我的应用程序中检查这个,它会失败。
我想完全将我的docker应用程序与域名以及可能更改的SSL证书分开,因此我宁愿继续终止ELB上的原始HTTPS连接。我想知道是否有某种方法可以让Docker主机(或ELB)在HTTPS协议中转发(重新加密)请求,但是使用自签名证书,因此我可以保留它的完全通用性。
要清楚的是,这只会在ELB和/或码头主机,我的码头应用程序之间,而不是浏览器。
如果我创建了一个不过期的自签名证书,然后在Docker应用程序(当前使用Apache2,但可能使用nginx)中将其注册到Web服务器,然后简单地告诉ELB或docker主持人转发请求作为HTTPS,这将工作?还是会因为证书不可信而在某个时刻崩溃?
或者是否有某种方法可以在docker应用程序的web-server上终止HTTPS连接,而不需要预先生成证书(我猜这不是,因为它可能需要生成即时证书等)。
是否有推荐的最佳实践方式来做这种事情?