
esgfdeploy/nginx本镜像为ESGF(Earth System Grid Federation,地球系统网格联盟)部署场景设计,基于官方Nginx镜像优化构建,专门适配ESGF的Web服务架构。主要提供HTTP服务、反向代理、负载均衡及安全访问控制功能,满足ESGF数据分发、资源访问及多节点协同的需求。
通过docker run命令快速启动容器:
bashdocker run -d \ --name esgf-nginx \ -p 80:80 \ -p 443:443 \ -e ESGF_BACKEND_URL="[***]" \ -v /path/to/ssl/certs:/etc/nginx/ssl \ esgf/nginx:latest
创建docker-compose.yml文件,集成ESGF后端服务:
yamlversion: '3' services: esgf-nginx: image: esgf/nginx:latest ports: - "80:80" - "443:443" environment: - NGINX_PORT=80 - ESGF_BACKEND_URL="[***]" - SSL_ENABLED=true volumes: - ./nginx/conf.d:/etc/nginx/conf.d # 自定义配置文件 - ./ssl:/etc/nginx/ssl # SSL证书挂载 - ./logs:/var/log/nginx # 日志持久化 depends_on: - esgf-backend esgf-backend: image: esgf/backend-service:latest # ESGF后端服务示例
| 环境变量名 | 描述 | 默认值 | 必要性 |
|---|---|---|---|
NGINX_PORT | Nginx监听端口(HTTP) | 80 | 可选 |
ESGF_BACKEND_URL | ESGF后端服务地址(如数据节点、索引服务) | 无 | 必填 |
SSL_ENABLED | 是否启用SSL/TLS(HTTPS) | false | 可选 |
SSL_PORT | HTTPS监听端口 | 443 | 可选(启用SSL时有效) |
SSL_CERT_PATH | SSL证书文件路径 | /etc/nginx/ssl/cert.pem | 可选(启用SSL时有效) |
SSL_KEY_PATH | SSL私钥文件路径 | /etc/nginx/ssl/key.pem | 可选(启用SSL时有效) |
PROXY_BUFFER_SIZE | 反向代理缓冲区大小 | 16k | 可选 |
为避免容器重启后配置丢失,建议通过卷挂载持久化以下目录:
/etc/nginx/conf.d(存放自定义Nginx配置文件,覆盖默认配置)/var/log/nginx(Nginx访问日志和错误日志)/etc/nginx/ssl(存放SSL证书和私钥文件,启用HTTPS时需挂载)如需覆盖默认配置,可在宿主机创建自定义Nginx配置文件(如esgf-proxy.conf),并挂载至容器的/etc/nginx/conf.d/目录:
nginx# 示例:自定义反向代理配置(esgf-proxy.conf) server { listen ${NGINX_PORT}; server_name esgf-node.example.com; location / { proxy_pass ${ESGF_BACKEND_URL}; proxy_set_header Host $host; 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 $scheme; } # 启用SSL(如需) ${SSL_ENABLED:+ listen ${SSL_PORT} ssl; ssl_certificate ${SSL_CERT_PATH}; ssl_certificate_key ${SSL_KEY_PATH}; } }
将上述文件保存至宿主机./nginx/conf.d/目录,通过docker-compose挂载即可生效。
ESGF_BACKEND_URL指向正确的ESGF后端服务地址,否则反向代理功能无法正常工作SSL_CERT_PATH)和私钥文件(SSL_KEY_PATH)格式正确且权限配置合理(建议证书文件权限为644,私钥文件权限为600).conf后缀,Nginx会自动加载/etc/nginx/conf.d/目录下的所有.conf文件
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务