用Docker封装了一个简易的图片代理服务
在开发 SteemTools
服务号的文章单独页面的时候,遇到的一个问题就是有些人的图片存放在了被墙的服务器上了,导致文章中的图片无法正常显示。
从网上搜索了下,找到了一个用 node
写的图片代理,我已经 fork
到了自己的库中,https://github.com/ety001/node-image-proxy 。
为了方便部署和管理,把这个服务封装进了 Docker
中。
运行命令如下:
1 | docker run -itd --name node-image-proxy -p 9091:9091 -v /data/node-image-cache:/app/cache --restart always ety001/node-image-proxy |
其中 /data/node-image-cache
目录是用来存储缓存的,自己手动建立一个目录就好了。
启动成功后,可以用 nginx
的反向代理来实现 https
,也可以直接使用,只需要把要代理的图片地址放到 url
后面就好了,例如这样:
1 | https://img.steemtools.top/http://newappaz.oss-cn-hongkong.aliyuncs.com/wherein_images/post/20190224/89a2802d622c4940b2ece51eea04aecd.jpg |
这样只需要把服务部署在国外服务器上,然后在解析 markdown
的时候把原来的图片地址加上代理地址后,就可以正常的访问文章中的图片了。