当前位置:首页 > 系统教程 > 正文

Docker部署Nginx HTTPS服务(CentOS7)

Docker部署Nginx HTTPS服务(CentOS7)

从零开始配置HTTPS加密的Nginx容器

Docker部署Nginx HTTPS服务(CentOS7) Docker  Nginx HTTPS CentOS7 第1张

环境要求: 一台安装了 CentOS7 的服务器或虚拟机,具备root权限。我们将逐步指导你完成 Docker 的安装、Nginx 容器的配置以及 HTTPS 证书的部署。

第一步:安装Docker

CentOS7 上,首先更新yum包索引:sudo yum update -y。然后安装Docker依赖:sudo yum install -y yum-utils device-mapper-persistent-data lvm2。添加Docker官方仓库:sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo。最后安装 Dockersudo yum install -y docker-ce。启动并设置开机自启:sudo systemctl start docker && sudo systemctl enable docker。验证安装:docker --version

第二步:拉取Nginx镜像

使用 Docker 拉取官方 Nginx 镜像:docker pull nginx:latest。查看本地镜像:docker images

第三步:生成SSL证书(自签名)

为了启用 HTTPS,我们需要SSL证书。在服务器上创建目录存放证书:mkdir -p ~/nginx/ssl && cd ~/nginx/ssl。使用OpenSSL生成自签名证书(有效期365天):sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout nginx.key -out nginx.crt。按照提示填写信息,或者直接回车使用默认值。生成后得到 nginx.key(私钥)和 nginx.crt(证书)。

第四步:配置Nginx HTTPS

创建 Nginx 配置文件 ~/nginx/conf.d/default.conf,内容如下:

    server {    listen 80;    server_name _;    return 301 https://$host$request_uri;}server {    listen 443 ssl;    server_name _;    ssl_certificate /etc/nginx/ssl/nginx.crt;    ssl_certificate_key /etc/nginx/ssl/nginx.key;    location / {        root   /usr/share/nginx/html;        index  index.html index.htm;    }}  

这个配置将HTTP重定向到 HTTPS,并指定了证书路径。

第五步:运行Nginx容器

使用以下命令运行容器,挂载配置文件和证书:

    docker run -d --name nginx-trust \n-p 80:80 -p 443:443 \n-v ~/nginx/conf.d:/etc/nginx/conf.d \n-v ~/nginx/ssl:/etc/nginx/ssl \nnginx:latest  

解释:-d 后台运行,--name 指定容器名,-p 映射端口,-v 挂载卷。现在 Docker 容器已经运行,并通过 HTTPS 提供服务。

第六步:验证HTTPS访问

在浏览器中访问 https://你的服务器IP,由于是自签名证书,浏览器会提示不安全,继续访问即可看到 Nginx 欢迎页。至此,Docker + Nginx + HTTPSCentOS7 上部署成功。

总结: 本文详细介绍了在 CentOS7 上使用 Docker 部署支持 HTTPSNginx 服务的完整步骤,包括安装Docker、生成SSL证书、配置Nginx以及运行容器。通过这个教程,即使是新手也能轻松搭建安全的Web服务。