为Docker容器中的Nginx添加SSL证书

  • 创建CSR证书:
    去godaddy SSL Cert官网申请认证证书,或者免费去WoSign申请。
    拿到私钥private.key和CSR证书server.crt(名称任意),放到docker宿主机上的文件夹(推荐与nginx的mount地址一致)。

  • 修改Nginx配置文件:

server {
  listen 80;
  listen 443 ssl;
  server_name xxx.test.com;
  ssl_certificate /etc/nginx/certs/server.crt;
  ssl_certificate_key /etc/nginx/certs/private.key;
  location / {
    proxy_pass http://ghost:2368;
    proxy_redirect off;
  }
}
  • 重新运行启动nginx docker容器:
docker run -d --name nginx -p 80:80 -p 443:443 --link ghost:ghost -v /root/nginx/config:/etc/nginx/sites-enabled -v /root/nginx/logs:/var/log/nginx -v /root/nginx/certs:/etc/nginx/certs dockerfile/nginx

其中ghost是同样利用docker容器运行的博客系统,通过--link的参数关联容器做反向代理。

参考:
https://www.digitalocean.com/community/tutorials/how-to-create-an-ssl-certificate-on-nginx-for-ubuntu-14-04

你可能感兴趣的:(为Docker容器中的Nginx添加SSL证书)