Docker + SSL + apache2 + x509

我对我有一个最大的问题:SSL我试图在我的系统中安装一个证书,我的系统有3个容器与stream浪汉pipe理。

数据库(docker)主系统(docker)代理(docker) – 这是一个代理反向

当我尝试安装在我的容器代理,并安装所有证书的文件夹。 我改变了

<Virtualhost> ## SSL directives SSLEngine on SSLCertificateFile "/etc/apache2/ssl/www.mydomain.com.br.crt" SSLCertificateKeyFile "/etc/apache2/ssl/mykey.key" SSLCACertificateFile "/etc/apache2ssl/sslroot.crt" SSLCertificateChainFile "/etc/apach2/ssl/Intermediate.crt" </Virtualhost> 

显然,我的证书在path文件夹/ etc / apache2 / ssl /

当我尝试重新启动我的Apache,我的容器“代理”不再运行,他们的状态是停住了。 在我调用docker日志代理:

 ***[error] Init: Unable to read server certificate from file /etc/apache2/ssl/www.patobragado.gedvic.com.br.key [Thu Aug 06 11:01:02 2015] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag [Thu Aug 06 11:01:02 2015] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error*** 

有人知道我怎么能解决这个问题?

我需要在服务器上安装这个SSL。

假设您通过正确地将其链接到您的Web服务器容器来启动代理容器,如:

 docker run -d --name webserver ... docker run -d --name proxy --link webserver ... 

重新启动webserver容器后,其内部Docker IP地址可能会在重新启动后更改,并且proxy容器上的/etc/hosts文件也会自动更新 。 所以我 ,当proxy突然连接到一个不同的IP地址,打破SSL。

所以你也需要重新启动你的proxy (如果可能的话重新初始化SSLconfiguration)。

我还没有testing过。 但是,您也可以尝试在您的proxy容器上定义重新启动策略 ,如下所示:

 docker run -d --name proxy --link webserver --restart=always ...