Docker部署Nginx HTTPS全攻略,Docker 镜像知识总结。

Docker 部署 Nginx 并启用 HTTPS 的完整流程

准备工作

确保已安装 Docker 和 Docker Compose。生成 SSL 证书的工具有多种选择,如 Let's Encrypt 或 OpenSSL。以下以 OpenSSL 为例:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout nginx.key -out nginx.crt
配置 Nginx

创建 nginx.conf 文件,配置 HTTP 重定向和 HTTPS 监听:

server {
    listen 80;
    server_name yourdomain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name yourdomain.com;

    ssl_certificate /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;

    location / {
        root /usr/share/nginx/html;
        index index.html;
    }
}
编写 Dockerfile

创建自定义镜像以包含配置文件和证书:

FROM nginx:alpine
COPY nginx.conf /etc/nginx/conf.d/default.conf
COPY nginx.crt /etc/nginx/ssl/nginx.crt
COPY nginx.key /etc/nginx/ssl/nginx.key
使用 Docker Compose 部署

创建 docker-compose.yml 文件:

version: '3'
services:
  nginx:
    build: .
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./html:/usr/share/nginx/html
启动服务

执行以下命令构建并运行容器:

docker-compose up -d --build
验证 HTTPS

访问 https://yourdomain.com,浏览器应显示安全锁标志。若使用自签名证书,需手动信任证书。

证书自动更新(可选)

对于 Let's Encrypt 证书,可使用 Certbot 容器自动续期。修改 docker-compose.yml 加入 Certbot 服务并配置定时任务。

通过以上步骤,Docker 化的 Nginx 服务已配置 HTTPS,具备生产环境可用性。实际部署时需替换域名和证书路径为真实值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值