docphpro/nginx本镜像为定制化Nginx服务器镜像,预配置SSL支持及includes目录,旨在简化开发环境中的HTTPS代理部署。镜像包含默认SSL证书路径、预定义的includes配置片段,支持通过环境变量动态配置服务器名称,适用于需要连接后端服务(如Varnish缓存、PHP-FPM应用服务器)的场景。
/etc/ssl/phpro,包含通配符证书star_phpro_local.pem及密钥star_phpro_local.key,支持*.phpro.local域名AES256+EECDH:AES256+EDH:!aNULL/etc/nginx/includes,可存放通用配置片段并通过include指令引用${SERVER_NAME}环境变量设置服务器名称client_max_body_size(默认512M或108M,可调整)proxy_buffer_size、proxy_buffers等)适用于直接代理至Varnish缓存服务的场景:
nginxserver { listen 443 ssl http2; server_name ${SERVER_NAME}; ssl_certificate /etc/ssl/phpro/star_phpro_local.pem; ssl_certificate_key /etc/ssl/phpro/star_phpro_local.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL; client_max_body_size 512M; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; location / { proxy_pass [***] proxy_set_header Host ${SERVER_NAME}; proxy_set_header X-Forwarded-Proto https; proxy_read_timeout 600; proxy_connect_timeout 600; proxy_redirect off; proxy_set_header X-VerifiedViaNginx yes; proxy_set_header Proxy ""; proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; } }
通过includes目录引用通用配置片段,简化server配置:
nginxserver { listen 443 ssl http2; server_name ${SERVER_NAME}; ssl_certificate /etc/ssl/phpro/star_phpro_local.pem; ssl_certificate_key /etc/ssl/phpro/star_phpro_local.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL; client_max_body_size 108M; access_log /var/log/nginx/access.log; include /etc/nginx/includes/${NGINX_FILE}.nginx.conf; }
/etc/nginx/includes目录下的配置片段示例(如app.nginx.conf),包含应用服务器代理、静态文件处理等通用配置:
nginxroot /app/web; location / { # 尝试直接提供文件,否则转发至index.php try_files $uri /app.php$is_args$args; } # 可选:禁用资产目录回退到PHP脚本(提升性能,但不显示Symfony 404页面) # location /bundles { # try_files $uri =404; # } location ~ ^/app\.php(/|$) { fastcgi_pass application:9000; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; # 当使用符号链接将文档根目录链接到应用的当前版本时,应将实际应用路径传递给PHP-FPM # 否则PHP OPcache可能无法正确检测PHP文件的更改 fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $realpath_root; # 阻止包含前端控制器的URI访问(如[***] # 移除internal指令可允许此类URI internal; } # 对所有不匹配前端控制器的PHP文件返回404,防止访问不需要公开的PHP文件 location ~ \.php$ { return 404; } gzip on; gzip_disable "msie6"; gzip_comp_level 6; gzip_min_length 1100; gzip_buffers 16 8k; gzip_proxied any; gzip_types text/plain text/css text/js text/xml text/javascript application/javascript application/x-javascript application/json application/xml application/xml+rss image/svg+xml; gzip_vary on;
通过docker-compose部署,挂载自定义配置模板,设置环境变量并生成Nginx配置:
yamlversion: '3' services: nginx: image: docphpro/nginx:1.18.0 container_name: edmac-nginx-proxy volumes: # 挂载自定义Nginx配置模板至容器 - ./sysadmin/docker/nginx/ssl-proxy.template:/etc/nginx/conf.d/ssl-proxy.template:ro environment: # 设置服务器名称(需匹配通配符证书域名,如edmac.phpro.local) - SERVER_NAME=edmac.phpro.local # 生成Nginx配置并启动服务 command: /bin/sh -c "envsubst < /etc/nginx/conf.d/ssl-proxy.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'" # 链接后端服务(如Varnish缓存) links: - varnish ports: - "80:80" # HTTP端口(可选,根据需求开放) - "443:443" # HTTPS端口
volumes:挂载本地Nginx配置模板至容器,模板中使用${SERVER_NAME}等环境变量environment:SERVER_NAME指定代理服务器域名,需与SSL证书匹配command:通过envsubst替换环境变量生成最终配置文件,并以非守护进程模式启动Nginxlinks:链接至后端服务(如Varnish),确保Nginx可访问后端服务地址(如varnish:6081)
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务