docker httpd 添加ssl

step 1. 将httpd容器中/usr/local/apache2/conf/httpd.conf和 /usr/local/apache2/conf/extra/httpd-ssl.conf 拷贝出来用于修改

docker cp命令:

step 2. 将/usr/local/apache2/conf/httpd.conf中下面的三行取消注释

根据 https://hub.docker.com/_/httpd httpd镜像对 SSL/HTTPS 的描述:

removing the comment symbol from the following lines:

...
#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
...
#LoadModule ssl_module modules/mod_ssl.so
...
#Include conf/extra/httpd-ssl.conf
...


step 3. 配置/usr/local/apache2/conf/extra/httpd-ssl.conf

# 添加 SSL 协议支持协议,去掉不安全的协议
SSLProtocol all -SSLv2 -SSLv3
# 修改加密套件如下
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
# 证书公钥配置
SSLCertificateFile conf/server.crt
# 证书私钥配置
SSLCertificateKeyFile conf/server.key
# 证书链配置,如果该属性开头有 '#'字符,请删除
SSLCertificateChainFile conf/server-ca.crt

step 4. 在网站根目录创建Dockefile并运行

From httpd:latest copY . /usr/local/apache2/htdocs/ copY ./cert/server.crt /usr/local/apache2/conf/server.crt copY ./cert/server.key /usr/local/apache2/conf/server.key copY ./cert/server-ca.crt /usr/local/apache2/server-ca.crt copY ./conf/httpd.conf /usr/local/apache2/conf/httpd.conf copY ./conf/httpd-ssl.conf /usr/local/apache2/extra/httpd-ssl.conf CMD ["httpd-foreground"]

将证书拷贝到项目目录./cert/server.crt ./cert/server.key ./cert/server-ca.crt
docker build -t mydockerimage .
docker run -it -d -p 80:80 -p 443:443 mydockerimage

相关文章

Docker是什么Docker是 Docker.Inc 公司开源的一个基于 LXC技...
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng...
镜像操作列出镜像:$ sudo docker imagesREPOSITORY TAG IMA...
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p...
在 Docker 中,如果你修改了一个容器的内容并希望将这些更改...
在Docker中,--privileged 参数给予容器内的进程几乎相同的权...