You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为Nginx Docker容器配置HTTPS访问(目标地址https://192.168.99.100)

实现通过HTTPS访问Nginx Docker容器

嘿,我来帮你搞定通过HTTPS访问Nginx Docker容器的事儿!先梳理下你已经做的准备,再补全剩下的关键步骤,确保能顺利访问:

你已完成的准备工作

  • 编写了Dockerfile,指定基于Nginx镜像,复制证书文件到容器对应目录,替换默认站点配置,并暴露443端口
  • 在本地certs文件夹准备好了自签名证书文件:nginx-selfsigned.crt和nginx-selfsigned.key
  • 开始编写default-ssl.conf配置文件

补全Nginx SSL配置文件

你的default-ssl.conf看起来没写完,这里给你一个完整的可用配置模板,直接替换或者补全就行:

server {
    listen 80;
    listen 443 ssl;
    server_name localhost;

    # 指定SSL证书和密钥路径(和你Dockerfile里复制的路径对应)
    ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;

    # 可选的SSL安全优化配置,提升安全性
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    # Nginx默认的网页根目录和索引页
    root /usr/share/nginx/html;
    index index.html index.htm;

    # 处理请求的基础规则
    location / {
        try_files $uri $uri/ =404;
    }

    # 可选配置:自动把HTTP请求重定向到HTTPS
    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    }
}

构建并运行Docker容器

完成配置后,就可以构建镜像并启动容器了,执行以下命令:

  1. 构建自定义Nginx镜像:在Dockerfile所在的目录下运行
docker build -t nginx-ssl .
  1. 启动容器并映射端口:把容器的443端口映射到宿主机的443端口(如果宿主机443端口被占用,可以换成其他端口,比如4430:443)
docker run -d -p 443:443 --name nginx-ssl-container nginx-ssl

如果需要支持HTTP转HTTPS的重定向,记得同时映射80端口:

docker run -d -p 80:80 -p 443:443 --name nginx-ssl-container nginx-ssl

验证访问

现在你就可以通过https://192.168.99.100访问你的Nginx容器了!因为用的是自签名证书,浏览器会弹出安全警告,这是正常现象,选择“继续访问”就能看到Nginx的默认页面啦。

内容的提问来源于stack exchange,提问作者vivanov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:19:39