特网科技为您提供高速、稳定、安全、弹性的云计算服务计算、存储、监控、安全,完善的云产品满足您的一切所需,深耕云计算领域10余年;我们拥有前沿的核心技术,始终致力于为政府机构、企业组织和个人开发者提供稳定、安全、可靠、高性价比的云计算产品与服务。

当前位置:首页 > 行业资讯 > SSL证书 > 正文内容

基于Docker部署Nginx并配置SSL证书的完整实践指南

2025-11-19SSL证书343

海外云服务器 40个地区可选            亚太云服务器 香港 日本 韩国

云虚拟主机 个人和企业网站的理想选择            俄罗斯电商外贸虚拟主机 赠送SSL证书

美国云虚拟主机 助力出海企业低成本上云             拨号云主机


在现代Web应用开发与部署中,安全性与可扩展性已成为不可忽视的核心需求,随着容器化技术的普及,Docker凭借其轻量、高效和跨平台的特性,成为部署Web服务的首选方案,而Nginx作为高性能的反向代理服务器和HTTP服务器,广泛用于负载均衡、静态资源服务以及HTTPS加密通信,本文将详细介绍如何使用Docker部署Nginx,并为其配置SSL证书,实现安全的HTTPS访问,帮助开发者构建一个稳定、安全且易于维护的Web服务环境。

准备工作:环境与工具

在开始之前,确保你的系统已安装Docker和Docker Compose(推荐使用),大多数Linux发行版、macOS以及Windows均可通过官方渠道安装Docker Desktop或Docker Engine,你需要一个域名,并已将其解析到你的服务器IP地址,SSL证书可以使用Let’s Encrypt免费获取,也可以使用商业证书。

创建项目目录结构

创建一个项目目录用于存放所有相关文件:

mkdir nginx-docker-ssl && cd nginx-docker-ssl
mkdir certs logs html
  • certs/:用于存放SSL证书文件(如fullchain.pemprivkey.pem
  • logs/:存放Nginx访问日志和错误日志
  • html/:存放网站静态文件
编写Nginx配置文件

在项目根目录下创建nginx.conf如下:

events {
    worker_connections 1024;
}
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log main;
    error_log   /var/log/nginx/error.log;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen 80;
        server_name yourdomain.com;
        return 301 https://$server_name$request_uri;
    }
    server {
        listen 443 ssl http2;
        server_name yourdomain.com;
        ssl_certificate     /etc/nginx/certs/fullchain.pem;
        ssl_certificate_key /etc/nginx/certs/privkey.pem;
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512;
        ssl_prefer_server_ciphers off;
        root /usr/share/nginx/html;
        index index.html;
        location / {
            try_files $uri $uri/ =404;
        }
    }
}

请将yourdomain.com替换为你的实际域名,该配置实现了HTTP到HTTPS的强制跳转,并启用了现代TLS协议和强加密套件,保障通信安全。

准备SSL证书

你可以使用Certbot从Let’s Encrypt获取免费SSL证书,在主机上执行以下命令(需暂时停止占用80端口的服务):

sudo certbot certonly --standalone -d yourdomain.com

成功后,证书将保存在/etc/letsencrypt/live/yourdomain.com/目录下,将fullchain.pemprivkey.pem复制到项目中的certs/目录:

cp /etc/letsencrypt/live/yourdomain.com/fullchain.pem ./certs/
cp /etc/letsencrypt/live/yourdomain.com/privkey.pem ./certs/

注意:私钥文件privkey.pem权限应设置为600,避免泄露。

编写Docker Compose文件

在项目根目录创建docker-compose.yml文件:

version: '3.8'
services:
  nginx:
    image: nginx:alpine
    container_name: nginx-ssl
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./certs:/etc/nginx/certs
      - ./logs:/var/log/nginx
      - ./html:/usr/share/nginx/html
    restart: unless-stopped

该配置将本地的Nginx配置、证书、日志和网页文件映射到容器内部,确保配置持久化和日志可查。

启动服务

运行以下命令启动Nginx容器:

docker-compose up -d

等待容器启动后,访问 https://yourdomain.com,如果一切正常,浏览器将显示安全锁标志,表示SSL已生效。

自动更新SSL证书(可选)

Let’s Encrypt证书有效期为90天,建议配置自动续期,可在主机上添加cron任务:

0 3 * * 1 /usr/bin/certbot renew --quiet && docker cp /etc/letsencrypt/live/yourdomain.com/fullchain.pem nginx-ssl:/etc/nginx/certs/fullchain.pem && docker cp /etc/letsencrypt/live/yourdomain.com/privkey.pem nginx-ssl:/etc/nginx/certs/privkey.pem && docker exec nginx-ssl nginx -s reload

此脚本每周一凌晨3点检查证书是否需要更新,若更新成功,则复制新证书到容器并重载Nginx配置。

通过Docker部署Nginx并配置SSL证书,不仅简化了环境搭建过程,还提升了服务的可移植性和可维护性,结合Let’s Encrypt的免费证书机制,开发者可以零成本实现HTTPS加密通信,提升网站安全等级和用户信任度,本文提供的方案适用于个人博客、企业官网、API网关等多种场景,是现代Web部署的标准化实践之一。

还可进一步集成CI/CD流程,实现自动化部署与证书管理,构建更加智能化的运维体系,掌握Docker + Nginx + SSL的技术组合,将为你的Web服务保驾护航。

扫描二维码推送至手机访问。

版权声明:本文由特网科技发布,如需转载请注明出处。

本文链接:https://www.56dr.com/mation/87703.html

分享给朋友:

“基于Docker部署Nginx并配置SSL证书的完整实践指南” 的相关文章

服务器购买平台推荐理由

服务器购买平台推荐理由包括便捷的操作、丰富的选择、强大的功能和良好的售后服务。随着互联网技术的不断发展,服务器在各行各业中扮演着越来越重要的角色,为了满足不同用户的需求,市场上出现了各种各样的服务器购买平台,本文将从以下几个方面来分析这些平台的优势和劣势,并给出一些购买建议。价格优势服务器的价格是影...

全球VPS服务器购买平台推荐

在全球范围内,选择VPS服务器是一个常见的需求。以下是一些建议,帮助你找到最适合你的VPS服务器购买平台:,,1. **Cloudflare**:以其高性能、安全性以及易于管理而闻名。,2. **Linode**:以高可用性和价格透明性著称。,3. **AWS (Amazon Web Service...

成本控制技巧,价格如何?

产品定价策略和成本控制是企业成功的关键因素之一。了解市场定位、竞争对手分析以及生产成本都是制定有效定价策略的基础。通过优化供应链管理、采用先进的生产工艺和技术来降低原材料采购成本,同时提升产品质量和服务水平,可以显著提高企业的盈利能力。合理规划库存管理和订单处理流程,确保在经济波动时能够迅速响应客户...

云服务器租赁指南,快速上手操作与维护

《4060云服务器租用指南》:了解云服务的基本概念、选择合适的云提供商、购买和配置云服务器、管理云资源以及安全保护。高效、安全的云服务器租用体验在当今数字化时代,企业需要借助云服务来提高效率、降低成本,4060云服务器租用就是其中之一,本文将详细介绍4060云服务器租用的特点、优势以及如何选择合适的...

如何在TikTok上搭建一个云服务器并配置节点

在本教程中,我们将向您介绍如何使用TikTok云服务器搭建一个节点。我们需要确保您的系统满足所有必要的硬件和软件要求。我们将会详细讲解如何安装和配置TikTok云服务器。我们将展示如何进行节点操作,并解释节点的基本概念和功能。通过这个过程,您将能够成功搭建并运行自己的TikTok节点,从而提高您的视...

深度学习服务器租赁,高效与经济,灵活选择

选择租赁服务器进行深度学习训练是一种既高效又经济且灵活的方式。通过租用高性能的计算资源,企业或科研机构可以快速进行大规模的数据处理和模型训练,从而加速创新步伐,节省时间成本。在当今大数据和人工智能时代,深度学习技术已经成为推动产业发展的关键力量,要实现深度学习算法的高效运行,需要强大的计算资源支持,...