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

使用imaginary作为图片代理访问DDEV中Drupal图片时连接被拒

解决方案:Imaginary无法访问DDEV本地图片的问题

问题根源

Imaginary运行在独立Docker容器中,尝试解析imageproxy.ddev.site时,容器内DNS会将该域名指向自身的127.0.0.1,但容器未监听443端口,因此触发连接拒绝错误。外部图片能正常访问是因为解析的是公网IP,不存在本地网络隔离问题。

具体解决方法

方法1:加入DDEV的Docker网络(推荐)

将Imaginary容器接入DDEV项目的默认Docker网络,使其能正确解析DDEV内部域名:

  1. 查看DDEV项目对应的Docker网络名称:
    ddev describe | grep "Docker network"
    
    输出示例:Docker network: ddev-imageproxy-default
  2. 修改Imaginary的docker-compose.yml,添加网络配置:
    version: "3"
    
    services:
      imaginary:
        image: h2non/imaginary
        ports:
          - "8088:8088"
        environment:
          - PORT=8088
        command: -concurrency 50 -enable-url-source
        networks:
          - default
          - ddev-imageproxy-default # 替换为你查到的DDEV网络名称
    
    networks:
      ddev-imageproxy-default:
        external: true
    
  3. 重启Imaginary容器:
    docker-compose down && docker-compose up -d
    
  4. 使用DDEV内部域名构造图片请求,将原URL中的imageproxy.ddev.site替换为imageproxy.ddev.internal,例如:
    http://localhost:8088/crop?width=500&height=400&url=https://imageproxy.ddev.internal/sites/default/files/styles/wide/public/2024-11/8vwp5n_0.jpg.webp
    

方法2:直接使用DDEV Web容器IP

跳过域名解析,用DDEV Web容器的IP作为图片源地址:

  1. 获取DDEV Web容器的IP:
    ddev exec ip addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'
    
  2. 构造请求时用该IP替换域名,优先使用HTTP协议避免证书问题:
    http://localhost:8088/crop?width=500&height=400&url=http://172.18.0.3/sites/default/files/styles/wide/public/2024-11/8vwp5n_0.jpg.webp
    

方法3:临时修改容器内DNS映射

在Imaginary容器内手动添加主机映射,强制域名指向宿主机IP:

  1. 进入Imaginary容器:
    docker exec -it <imaginary-container-name> /bin/sh
    
  2. 修改/etc/hosts文件,添加宿主机IP与域名的映射:
    192.168.1.100 imageproxy.ddev.site # 替换为你的宿主机IP
    

验证步骤

重启Imaginary后,可在容器内测试连接是否正常:

docker exec -it <imaginary-container-name> curl -I https://imageproxy.ddev.internal/sites/default/files/styles/wide/public/2024-11/8vwp5n_0.jpg.webp

返回200状态码即为连接正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 11:11:10