Docker容器中的HTTPS服务器

我有一个关于如何在Docker中部署https服务器的问题。 由于SSL错误而无法访问内容。 然后我做了一个实验来testingDocker容器中的SSLfunction。 实验是在端口(tls)上侦听,如果有连接,则发回文件的内容。

我的Dockerfile是这样的:

FROM ruanhao/centos-dev EXPOSE 8443 COPY banner . COPY server.crt.pem . COPY server.key.pem . CMD socat -U openssl-listen:8443,reuseaddr,cert=server.crt.pem,key=server.key.pem,verify=0,fork open:banner 

我运行docker run -d -p 8443:8443 --name tls -it ruanhao/socat-tls

然后我用curl来获取内容。 curl -k -v -L https://192.168.99.100:8443 ,但是失败了:

 * Rebuilt URL to: https://192.168.99.100:8443/ * Trying 192.168.99.100... * Connected to 192.168.99.100 (192.168.99.100) port 8443 (#0) * Unknown SSL protocol error in connection to 192.168.99.100:-9850 * Closing connection 0 curl: (35) Unknown SSL protocol error in connection to 192.168.99.100:-9850 

我不知道这是为什么 有什么我不知道在docker使用TLS? 你知道如何解决它? 谢谢。

Dockerfile

 ADD ./apache.conf /etc/apache2/sites-enabled/000-default.conf ADD ./ssl/ /ssl/ RUN a2enmod ssl CMD service apache2 start 

ssl文件夹包含server.key&server.key文件。

阿帕奇

 <virtualHost _default_:443> DocumentRoot "/var/www/" SSLEngine on SSLCertificateFile /ssl/server.crt SSLCertificateKeyFile /ssl/server.key </VirtualHost>