【问题标题】:HTTPS server in Docker containerDocker 容器中的 HTTPS 服务器
【发布时间】:2017-01-30 12:25:21
【问题描述】:

我有一个关于如何在 docker 中部署 https 服务器的问题。由于 SSL 错误,它无法访问内容。然后我做了一个实验来测试 docker 容器中的 SSL 功能。实验是监听一个端口(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 运行 docker

然后我使用 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

我不知道为什么会这样。关于 TLS 在 docker 中的使用,我有什么不知道的吗?你知道如何解决吗?谢谢。

【问题讨论】:

标签: linux ssl docker https tls1.2


【解决方案1】:

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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 2017-10-01
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多