首页 > 解决方案 > 带有 Apache2 和 Docker 的 HTTPS 配置

问题描述

尝试在 dockerized Web 应用程序上启用 HTTPS。

主机服务器使用 Apache2 的非 dockerized 安装作为网络服务器。

似乎为应用程序启用了 HTTPS,dockerized web-app 和 Apache2 webserver 都必须侦听端口 443(?),这会产生冲突,在 docker-compose up 上引发以下错误:

ERROR: for <appname>  Cannot start service 
<appname>: driver failed programming external 
connectivity on endpoint <appname> 
(containerid): Error starting userland 
proxy: listen tcp 0.0.0.0:443: listen: 
address already in use

我尝试让 Apache2 在端口 443 上侦听,在 docker-compose 文件(8000)中公开另一个端口,并将此端口映射到 compose 文件中的 443,如下所示:

networks:
  - default
ports:
  - 0.0.0.0:8000:443

但是,服务器无法使用此配置返回响应。

我对 Docker、Apache2 和一般系统非常陌生,我确信有更好的解决方案可用(例如,我可以简单地在 docker 容器中运行 Apache2),但是如何使这个特定配置与 HTTPS 一起工作如果有的话?

此外,在使用 Docker 和 Apache2 时,HTTPS 配置的最佳实践是什么?

让我知道是否需要更多详细信息。

标签: apachedockersslhttpsdocker-compose

解决方案


推荐阅读