我在docker swarm和aws上工作。我对此没有太多的想法。如果我的问题错了,请纠正我,并帮助我解决我的问题。
我在AWS的负载均衡器下运行了我的docker swarm集群。我为我的负载均衡器创建了从Amazon certificate Manager到https的证书。
在listener下的load balancer选项卡中,如果我将负载均衡器协议设置为https,并将http设置为实例协议,如下所示,当我在浏览器中输入https://website-url时,它会自动重定向到http。
LoadBalancerProtocol LoadBalancerPort InstanceProtocol InstancePort Cipher SSL Certificate HTTPS 443 HTTP 80 Change 6e7528d6-8261-4d61-b1d3-3c2548e1b575 (ACM) Change
但我希望网站是作为https运行,而不是作为http。所以我改变了如下所示。这是使实例端口和它的协议为443和https。
LoadBalancerProtocol LoadBalancerPort InstanceProtocol InstancePort Cipher SSL Certificate HTTPS 443 HTTPS 443 Change 6e7528d6-8261-4d61-b1d3-3c2548e1b575 (ACM) Change
但在此之后,https://website-url将继续运行,浏览器中没有任何响应。
经过一番搜索,我发现ACM证书只适用于负载均衡,不适用于后端实例。
例如,我需要为apache启用https。
docker swarm集群有1个管理器节点和3个工作节点。所有主机实例操作系统都是高山操作系统。节点内部的容器是Centos-7。容器在集群中作为服务运行。
请指导我,是否需要在容器内或宿主实例上为apache配置自签名证书。我希望我的网站是运行为https,而不是http。
请告诉我需要什么步骤。
谢谢
https://stackoverflow.com/questions/44545120
复制相似问题