Docker+Nginx配置SSL

参考阿里云文档教程

前提条件

  • 购买服务器的服务商开启443端口和服务器已开启443端口(https的默认端口)
  • nginx容器已经安装http_ssl_module模块(启用SSL功能)
  • 下面的教程基于一个开源的dockerfile仓库

ssl证书上传至服务器
上传目录:
../../services/nginx/certs/

yml文件配置更改

ports:
      # 增加443端口
      - "443:443"
volumes:
      # 增加SSL证书目录挂载
      - ../../services/nginx/certs:/etc/nginx/certs:cached

nginx配置文件更改
default.conf参考

server {
        listen	443;
        server_name  localhost;

        root   /wwwroot/default/;
        index index.php index.html index.htm;
        
        ssl on;
        ssl_certificate certs/cert.pem;
        ssl_certificate_key certs/cert.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;  #使用此加密套件。
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   #使用该协议进行配置。
        ssl_prefer_server_ciphers on; 

注意事项:
ssl_certificate certs/cert.pem; ssl_certificate_key certs/cert.key;这两项填写的证书路径必须是相对路径(相对于/etc/nginx/ 的路径)

原文地址:https://www.cnblogs.com/ovim/p/13275069.html