专属域名
轩辕助手
文档搜索
提交工单
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
...
jwilder/nginx-proxy
官方博客热门镜像提交工单
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 —— 国内开发者首选的专业 Docker 镜像加速平台。在线技术支持请优先 提交工单,技术交流欢迎加入官方QQ群:13763429 。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

nginx-proxy Docker 镜像下载 - 轩辕镜像

nginx-proxy 镜像详细信息和使用指南

nginx-proxy 镜像标签列表和版本信息

nginx-proxy 镜像拉取命令和加速下载

nginx-proxy 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

nginx-proxy
jwilder/nginx-proxy
自动构建

nginx-proxy 镜像详细信息

nginx-proxy 镜像标签列表

nginx-proxy 镜像使用说明

nginx-proxy 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

用于Docker容器的自动化Nginx反向代理
2315 收藏0 次下载activejwilder镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

nginx-proxy 镜像详细说明

nginx-proxy 使用指南

nginx-proxy 配置说明

nginx-proxy 官方文档

概述

nginx - proxy 运行一个包含 Nginx 和 [docker - gen][1] 的容器。docker - gen 会为 Nginx 生成反向代理配置,并在容器启动或停止时重新加载 Nginx。

了解[为什么需要使用此工具][2]。

!latest 0.8.0 !nginx 1.19.3 !License MIT ![Build Status]([] - proxy) ![]([] - proxy 'DockerHub') ![]([***] - proxy 'DockerHub')

镜像变体

nginx - proxy 提供两种镜像变体:

jwilder/nginx - proxy:latest

基于 debian:jessie 的 Nginx 镜像。

bash
$ docker pull jwilder/nginx - proxy:latest

jwilder/nginx - proxy:alpine

基于 nginx:alpine 镜像,完全支持 HTTP/2(包括最新 Chrome 版本所需的 ALPN)。使用时需配合有效的证书(详见下文“使用 Let's Encrypt 实现 SSL 支持”)。

bash
$ docker pull jwilder/nginx - proxy:alpine

快速开始

基本运行

启动 nginx - proxy 容器:

bash
$ docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx - proxy

然后启动需要被代理的容器,并设置环境变量 VIRTUAL_HOST=subdomain.youdomain.com:

bash
$ docker run -e VIRTUAL_HOST=foo.bar.com ...

被代理的容器必须通过 Dockerfile 的 EXPOSE 指令或 docker run/docker create 的 --expose 标志暴露(expose)需要代理的端口,且需处于同一网络。默认情况下,若创建 nginx - proxy 容器时未指定 --net 标志,它仅连接到默认的 bridge 网络,因此无法代理其他网络中的容器。

确保 DNS 配置将 foo.bar.com 转发到运行 nginx - proxy 的主机,请求将被路由到设置了 VIRTUAL_HOST 环境变量的容器。

Docker Compose 示例

yaml
version: '2'

services:
  nginx - proxy:
    image: jwilder/nginx - proxy
    ports:
      - "80:80"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro

  whoami:
    image: jwilder/whoami
    environment:
      - VIRTUAL_HOST=whoami.local

启动服务:

bash
$ docker - compose up

测试访问:

bash
$ curl -H "Host: whoami.local" localhost
I'm 5b129ab83266

核心配置

虚拟主机(VIRTUAL_HOST)

通过环境变量 VIRTUAL_HOST 指定容器对应的虚拟主机,支持多个主机(用逗号分隔),例如:VIRTUAL_HOST=foo.bar.com,baz.bar.com。

虚拟端口(VIRTUAL_PORT)

若容器暴露多个端口,nginx - proxy 默认使用 80 端口。通过 VIRTUAL_PORT 环境变量可指定其他端口,例如:VIRTUAL_PORT=3000。若容器仅暴露一个端口且设置了 VIRTUAL_HOST,则自动使用该端口。

网络配置

多网络连接

默认情况下,nginx - proxy 仅连接到 bridge 网络。要代理其他网络中的容器,创建容器时需指定 --net=my - network,并可通过 docker network connect 连接到其他网络:

bash
$ docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro \
    --name my - nginx - proxy --net my - network jwilder/nginx - proxy
$ docker network connect my - other - network my - nginx - proxy

IPv6 支持

通过设置环境变量 ENABLE_IPV6=true 启用 IPv6 支持:

bash
$ docker run -d -p 80:80 -e ENABLE_IPV6=true -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx - proxy

默认主机(DEFAULT_HOST)

设置默认主机,当请求未匹配任何 VIRTUAL_HOST 时使用:

bash
$ docker run -d -p 80:80 -e DEFAULT_HOST=foo.bar.com -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx - proxy

高级功能

通配符主机

支持主机名开头或结尾的通配符,例如 *.bar.com 或 foo.bar.*,也支持正则表达式(需以 ~ 开头),如 ~^foo\.bar\..*\.xip\.io 可匹配 foo.bar.127.0.0.1.xip.io 等。更多信息见 nginx server_names 文档。

后端类型配置

SSL 后端

若需通过 HTTPS 连接后端,在后端容器设置 VIRTUAL_PROTO=https。注意:若后端同时暴露 80 和 443 端口,需配合 VIRTUAL_PORT=443,否则默认使用 80 端口的 HTTPS,这通常不符合预期。

uWSGI 后端

设置 VIRTUAL_PROTO=uwsgi,后端容器需监听端口并暴露该端口(而非 socket)。

FastCGI 后端

设置 VIRTUAL_PROTO=fastcgi,后端容器需监听端口并暴露该端口(而非 socket)。通过 VIRTUAL_ROOT=xxx 指定 FastCGI 的根目录。

内外网访问控制

通过设置后端容器的 NETWORK_ACCESS=internal 环境变量,可限制其仅允许内网访问(默认内网定义为 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)。自定义内网范围需挂载文件到 nginx - proxy 的 /etc/nginx/network_internal.conf,内容示例:

# 定义为内网的网络
allow 127.0.0.0/8;
allow 10.0.0.0/8;
allow 192.168.0.0/16;
allow 172.16.0.0/12;

# 拒绝其他网络流量
deny all;

启用内网访问限制后,外部客户端将收到 HTTP 403 Forbidden 响应。

若 nginx - proxy 前有负载均衡器/反向代理隐藏客户端 IP(如 AWS ALB),需使用 nginx 的 realip 模块(已预装)提取客户端 IP,配置可添加到 /etc/nginx/conf.d/ 目录下的文件中。详见 nginx realip 模块文档。

SSL 支持

基本配置

启用 SSL 需挂载证书目录:

bash
$ docker run -d -p 80:80 -p 443:443 -v /path/to/certs:/etc/nginx/certs -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx - proxy

证书和私钥需按虚拟主机名命名,格式为 <virtual_host>.crt 和 <virtual_host>.key,例如 VIRTUAL_HOST=foo.bar.com 对应 foo.bar.com.crt 和 foo.bar.com.key。

Let's Encrypt 集成

letsencrypt - nginx - proxy - companion 是 nginx - proxy 的轻量级 companion 容器,可自动创建/续期 Let's Encrypt 证书。设置 DHPARAM_GENERATION=false 可禁用 Diffie - Hellman 参数生成(默认 true):

bash
$ docker run -e DHPARAM_GENERATION=false ....

Diffie - Hellman 组

默认启用 Diffie - Hellman(DH)参数,预生成的 dhparam.pem 位于 /etc/nginx/dhparam/dhparam.pem。可挂载自定义文件覆盖,或按虚拟主机命名为 <virtual_host>.dhparam.pem。生成新参数可能耗时数分钟,首次启动时在后台低优先级进行。

  • 禁用自动生成:DHPARAM_GENERATION=false
  • 自定义位数:DHPARAM_BITS=1024(默认 2048,低位数兼容旧客户端如 Java 6/7)

分离容器部署时,需手动生成 DH 参数并挂载到 Nginx 容器的 /etc/nginx/dhparam/dhparam.pem。

通配符证书

通配符证书命名为域名的主域,例如 *.bar.com 证书对应 bar.com.crt 和 bar.com.key。

SNI 支持

多域名证书可通过 CERT_NAME=<name> 指定证书名,例如共享证书 shared.crt/shared.key,后端容器设置 CERT_NAME=shared 即可使用。

OCSP 装订

为域名启用 OCSP 装订,需在证书目录放置包含 CA 证书链的 PEM 文件 <domain>.chain.pem(中间 CA 到根 CA 的拼接),nginx - proxy 将其用于 ssl_trusted_certificate 指令并启用 OCSP 装订。

SSL 策略与重定向

默认 SSL 密码套件基于 Mozilla Intermediate 配置文件(版本 5.0),兼容 Firefox 27+、Android 4.4.2+ 等。设置 SSL_POLICY=Mozilla-Modern 可使用 Modern 配置文件(兼容 Firefox 63+、Android 10.0+ 等,不兼容 IE)。其他可用策略包括 Mozilla-Old 及 AWS ELB 策略(如 AWS-TLS-1-2-2017-01)。

默认行为:若容器有有效证书,80 端口请求重定向到 443;无证书则返回 503。通过 HTTPS_METHOD 自定义:

  • redirect(默认):HTTP 重定向到 HTTPS
  • noredirect:同时支持 HTTP 和 HTTPS,不重定向
  • nohttp:禁用 HTTP
  • nohttps:禁用 HTTPS

可在 nginx - proxy 容器(全局)或后端容器(单个)设置。使用 noredirect 时 HSTS 自动禁用。

HSTS 配置

默认启用 HSTS(HTTP Strict Transport Security),max - age=31536000。通过 HSTS=off 禁用,或自定义如 HSTS=max - age=31536000; includeSubDomains; preload。

自定义 Nginx 配置

替换默认代理设置

添加 /etc/nginx/proxy.conf 文件可替换默认代理配置,默认配置示例:

Nginx
# HTTP 1.1 支持
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X - Real - IP $remote_addr;
proxy_set_header X - Forwarded - For $proxy_add_x_forwarded_for;
proxy_set_header X - Forwarded - Proto $proxy_x_forwarded_proto;
proxy_set_header X - Forwarded - Ssl $proxy_x_forwarded_ssl;
proxy_set_header X - Forwarded - Port $proxy_x_forwarded_port;

# 缓解 httpoxy ***
proxy_set_header Proxy "";

全局配置

在 /etc/nginx/conf.d/ 添加 .conf 文件(如 my_proxy.conf),可添加全局配置,例如:

Dockerfile
FROM jwilder/nginx - proxy
RUN {
      echo 'server_tokens off;';
      echo 'client_max_body_size 100m;';
    } > /etc/nginx/conf.d/my_proxy.conf

或挂载文件:

bash
$ docker run -d -p 80:80 -v /path/to/my_proxy.conf:/etc/nginx/conf.d/my_proxy.conf:ro ... jwilder/nginx - proxy

按虚拟主机配置

主配置

在 /etc/nginx/vhost.d/ 添加与 VIRTUAL_HOST 同名的文件,例如 app.example.com。多主机可使用符号链接共享配置。

默认配置

/etc/nginx/vhost.d/default 文件为未指定单独配置的虚拟主机提供默认设置。

Location 配置

添加 <VIRTUAL_HOST>_location 文件(如 app.example.com_location)可配置 location 块。默认配置文件为 default_location。

基本认证支持

为虚拟主机启用基本认证,需在 /etc/nginx/htpasswd/ 目录创建与 VIRTUAL_HOST 同名的文件。使用 apache2 - utils 生成凭证:

bash
$ docker run -d -p 80:80 -p 443:443 \
    -v /path/to/htpasswd:/etc/nginx/htpasswd \
    -v /path/to/certs:/etc/nginx/certs \
    -v /var/run/docker.sock:/tmp/docker.sock:ro \
    jwilder/nginx - proxy
$ htpasswd -c /path/to/htpasswd/foo.bar.com user

分离容器部署

可将 nginx - proxy 拆分为 Nginx 和 docker - gen 两个容器运行,避免将 docker socket 绑定到暴露的服务。需准备 nginx.tmpl 模板文件。

步骤

  1. 启动 Nginx 容器:
bash
$ docker run -d -p 80:80 --name nginx -v /tmp/nginx:/etc/nginx/conf.d -t nginx
  1. 启动 docker - gen 容器:
bash
$ docker run --volumes-from nginx \
    -v /var/run/docker.sock:/tmp/docker.sock:ro \
    -v $(pwd):/etc/docker - gen/templates \
    -t jwilder/docker - gen -notify-sighup nginx -watch /etc/docker - gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf
  1. 启动后端容器:
bash
$ docker run -e VIRTUAL_HOST=foo.bar.com ...

贡献指南

提交 PR 或 issue 前,请先检查 GitHub 确保不存在重复。

本地运行测试

构建测试镜像:

bash
docker build -t jwilder/nginx - proxy:test .  # Debian 变体
# 或
docker build -f Dockerfile.alpine -t jwilder/nginx - proxy:test .  # Alpine 变体

运行测试:

bash
test/pytest.sh
# 或
make test

寻求帮助

使用问题请在 Q&A Group 提问。

[1]: [] - gen [2]: [] - nginx - reverse - proxy - for - docker/

查看更多 nginx-proxy 相关镜像 →
rancher/nginx-proxy logo
rancher/nginx-proxy
by Rancher by SUSE
认证
暂无描述
3.1K pulls
上次更新:6 年前
nginxproxy/nginx-proxy logo
nginxproxy/nginx-proxy
by nginxproxy
使用docker-gen为Docker容器提供自动化nginx反向代理,可自动生成配置并在容器启停时重载nginx。
16810M+ pulls
上次更新:11 天前

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"

用户评价详情

oldzhang - 运维工程师

Linux服务器

5

Docker加速体验非常流畅,大镜像也能快速完成下载。

Nana - 后端开发

Mac桌面

4.9

配置Docker镜像源后,拉取速度快了数倍,开发体验提升明显。

Qiang - 平台研发

K8s集群

5

轩辕镜像在K8s集群中表现很稳定,容器部署速度明显加快。

小敏 - 测试工程师

Windows桌面

4.8

Docker镜像下载不再超时,测试环境搭建更加高效。

晨曦 - DevOps工程师

宝塔面板

5

配置简单,Docker镜像源稳定,适合快速部署环境。

阿峰 - 资深开发

群晖NAS

5

在群晖NAS上配置后,镜像下载速度飞快,非常适合家庭实验环境。

俊仔 - 后端工程师

飞牛NAS

4.9

Docker加速让容器搭建顺畅无比,再也不用等待漫长的下载。

Lily - 测试经理

Linux服务器

4.8

镜像源覆盖面广,更新及时,团队一致反馈体验不错。

浩子 - 云平台工程师

Podman容器

5

使用轩辕镜像后,Podman拉取镜像稳定无比,生产环境可靠。

Kai - 运维主管

爱快路由

5

爱快系统下配置加速服务,Docker镜像拉取速度提升非常大。

翔子 - 安全工程师

Linux服务器

4.9

镜像源稳定性高,安全合规,Docker拉取无忧。

亮哥 - 架构师

K8s containerd

5

大规模K8s集群下镜像加速效果显著,节省了大量时间。

慧慧 - 平台开发

Docker Compose

4.9

配置Compose镜像加速后,整体构建速度更快了。

Tina - 技术支持

Windows桌面

4.8

配置简单,镜像拉取稳定,适合日常开发环境。

宇哥 - DevOps Leader

极空间NAS

5

在极空间NAS上使用Docker加速,体验流畅稳定。

小静 - 数据工程师

Linux服务器

4.9

Docker镜像源下载速度快,大数据环境搭建轻松完成。

磊子 - SRE

宝塔面板

5

使用轩辕镜像后,CI/CD流程整体快了很多,值得推荐。

阿Yang - 前端开发

Mac桌面

4.9

国内网络环境下,Docker加速非常给力,前端环境轻松搭建。

Docker迷 - 架构师

威联通NAS

5

威联通NAS下配置镜像加速后,Docker体验比官方源好很多。

方宇 - 系统工程师

绿联NAS

5

绿联NAS支持加速配置,Docker镜像下载快且稳定。

常见问题

Q1:轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

Q2:轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

Q3:流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

Q4:410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

Q5:manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

Q6:镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像加速服务

Windows/Mac

在 Docker Desktop 配置镜像加速

Docker Compose

Docker Compose 项目配置加速

K8s Containerd

Kubernetes 集群配置 Containerd

宝塔面板

在宝塔面板一键配置镜像加速

群晖

Synology 群晖 NAS 配置加速

飞牛

飞牛 fnOS 系统配置镜像加速

极空间

极空间 NAS 系统配置加速服务

爱快路由

爱快 iKuai 路由系统配置加速

绿联

绿联 NAS 系统配置镜像加速

威联通

QNAP 威联通 NAS 配置加速

Podman

Podman 容器引擎配置加速

Singularity/Apptainer

HPC 科学计算容器配置加速

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名加速

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
©2024-2025 源码跳动
商务合作电话:17300950906Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.