【发布时间】: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 中的使用,我有什么不知道的吗?你知道如何解决吗?谢谢。
【问题讨论】:
-
您的密钥是如何生成的?见stackoverflow.com/a/31248657/1556338
标签: linux ssl docker https tls1.2