
bfren/nginx-proxy!GitHub release (latest by date) !Docker Pulls !Docker Image Size !GitHub Workflow Status
Docker仓库 - bfren生态系统
该Nginx代理使用getssl通过Let's Encrypt自动请求和续期SSL证书。证书每日检查续期情况,最近一次检查记录可在/ssl卷中查看。同时包含Web应用防火墙NAXSI。
从v4版本开始,配置通过JSON文件处理 - 示例可参考ssl-conf-sample.json,完整文件定义见ssl-conf-schema.json。
为确保SSL证书请求正常工作,需将主机的80和443端口映射到代理容器,例如在docker compose文件的ports部分添加"0.0.0.0:80:80"。
| 卷 | 用途 |
|---|---|
/www | 来自基础镜像。 |
/sites | Nginx站点配置,首次运行时基于conf.json自动生成。生成后可根据需求修改。运行nginx-regenerate将清除所有配置并重新生成。 |
/ssl | 包含自动生成的SSL配置和证书(用于备份)。conf.json文件应存储于此以实现自动配置(见ssl-conf-sample.json)。每日证书更新日志(update.log)将在此创建。 |
| 变量 | 取值 | 描述 | 默认值 |
|---|---|---|---|
PROXY_AUTO_PRIMARY | URI | 若与PROXY_AUTO_UPSTREAM一同设置,SSL配置将在首次启动时生成。 | 无 |
PROXY_AUTO_UPSTREAM | URI | 若与PROXY_AUTO_PRIMARY一同设置,SSL配置将在首次启动时生成。 | 无 |
PROXY_AUTO_ALIASES | URI字符串 | 在首次启动时为自动生成的conf.json添加别名。 | 无 |
PROXY_AUTO_CUSTOM | 0或1 | 将自动生成的SSL配置标记为“自定义”,使Nginx配置不会在启动时重新生成。 | 0 |
PROXY_CLEAN_INSTALL | 0或1 | 若为1,所有Nginx和SSL配置及证书将被删除并重新生成。 | 0 |
PROXY_DOMAIN | URI | 代理服务器的基础域名,用于处理未绑定的请求。 | 无 - 必填 |
PROXY_ENABLE_NAXSI | 0或1 | 若为1,将为所有站点启用NAXSI Web应用防火墙。 | 0 |
PROXY_GETSSL_SKIP_HTTP_TOKEN_CHECK | true或false | 设置为true以启用getssl的跳过HTTP令牌检查功能。 | false |
PROXY_HARDEN | 0或1 | 若为1,仅启用现代SSL密码套件和协议(部分旧设备可能无法访问)。 | 0 |
PROXY_LETS_ENCRYPT_EMAIL | 有效的电子邮件地址 | 用于Let's Encrypt的通知邮件。 | 无 - 必填 |
PROXY_LETS_ENCRYPT_LIVE | 0或1 | 仅当配置正确时设置为1(以请求正式证书)- Let's Encrypt对证书请求有速率限制。 | 0 |
PROXY_MAINTENANCE_REFRESH_SECONDS | 有效的整数 | 维护页面自动刷新的倒计时秒数。 | 6 |
PROXY_SSL_DHPARAM_BITS | 有效的整数 | DHPARAM变量的大小 - 仅在处理资源有限时调小。 | 4096 |
PROXY_SSL_REDIRECT_TO_CANONICAL | 0或1 | 若为1,所有请求将重定向到主域名(在conf.json中定义)。 | 0 |
PROXY_UPSTREAM_DNS_RESOLVER | IP地址 | 上游DNS解析器 - 默认设为Docker的解析器。 | 127.0.0.11 |
| 函数 | 参数 | 描述 |
|---|---|---|
nginx-adduser | 0: 用户名, 1: 密码 | 添加用户以启用基本HTTP认证。 |
nginx-regenerate | -a: 所有域名, -d XXXXXX: 仅域名XXXXXX, -f: 强制 | 删除非自定义Nginx配置文件(在/sites中)并基于conf.json重新生成(使用-f选项将删除所有配置)。 |
ssl-cleanup | -m: 模式 | 删除conf.json中未定义的SSL和Nginx配置文件及目录(模式0=模拟运行,1=实际运行)。 |
ssl-init | -a: 所有域名, -d XXXXXX: 仅域名XXXXXX | 基于conf.json初始化SSL配置。 |
ssl-regenerate | -a: 所有域名, -d XXXXXX: 仅域名XXXXXX | 删除SSL配置文件(在/ssl/certs中)并基于conf.json重新生成。 |
ssl-regenerate-full | 无 | 删除SSL配置文件(在/ssl/certs中)及DH参数,并基于conf.json重新生成。 |
ssl-request | -a: 所有域名, -d XXXXXX: 仅域名XXXXXX | 从Let's Encrypt请求SSL证书。 |
ssl-update | -a: 所有域名, -d XXXXXX: 仅域名XXXXXX | 手动尝试更新SSL证书。 |
镜像包含一些实用的Nginx配置“助手”文件,位于/overlay/etc/nginx/helpers,均以“proxy”为前缀:
| 助手文件 | 描述 |
|---|---|
-maintenance.conf | 显示维护页面(当上游服务器返回50x错误时使用)。 |
-params.conf | 代理站点常用的HTTP头信息。 |
-params-websockets.conf | WebSocket所需的HTTP头信息。 |
-secure-headers.conf | 标准安全头信息 - 详见Mozilla SSL配置生成器。 |
-tls1_3-only.conf | 若需超高安全性(不支持旧浏览器),此文件将禁用除TLS 1.3外的所有TLS协议。 |
MIT
版权所有 (c) 2020-2024 bfren(除非另有说明)





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务