全站 https 越来越流行,你的图床要搬家吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
quietjosen
V2EX    程序员

全站 https 越来越流行,你的图床要搬家吗?

  •  
  •   quietjosen
    atjason 2016-11-25 13:54:42 +08:00 9891 次点击
    这是一个创建于 3272 天前的主题,其中的信息可能已经有所发展或是发生改变。
    关于 https ,最强势的就是苹果了: 2017 年 1 月 1 日后提交 App Store 的 App ,必须全部使用 https (有少量例外)

    不管怎样, https 确实是越来越流行。你的博客、产品,在改造吗?

    我在改造博客,其中有一项有点麻烦:图床。我的博客因为时间有点长,图床也很杂:又拍相册、微博图床、七牛、等等,要

    1. 把所有之前文章中的图片全部找出来
    2. 搬家至支持 https 的图床
    3. 更新文章中的图片链接

    想想都是件挺闹心的事。大家是怎么解决这个问题的?

    另外,我在想我的 [iPic]( http://toolinbox.net/iPic/) 是不是要支持图床搬家功能。有些需求太小众、又比较麻烦,纠结…如果需求的朋友多,倒是可以考虑一下下…
    71 条回复    2016-11-29 11:52:29 +08:00
    vultr
        1
    vultr  
       2016-11-25 14:07:17 +08:00 via Android
    其实一点也不麻烦,用 wget ,一条命令就可以把全部图片拿回来,顺便还可以帮你把博客全静态化了,如果你想这样的话。
    lazycat
        2
    lazycat  
       2016-11-25 14:07:48 +08:00
    觉得麻烦你可以自己写一个 https 的代理处理所有的图片(误
    quietjosen
        3
    quietjosen  
    OP
       2016-11-25 14:09:23 +08:00
    @vultr 这方法不错。显露了,自己后端明显很弱…
    quietjosen
        4
    quietjosen  
    OP
       2016-11-25 14:10:08 +08:00
    @lazycat 哎,听起来还是学习学习才能搞这事,水平啊…
    BSD
        5
    BSD  
       2016-11-25 14:10:57 +08:00
    你的服务器硬盘是有多小?一个人 blog 的图片能有多少呢?流量或存贮空间应该都不是太大吧?
    hteen
        6
    hteen  
       2016-11-25 14:12:22 +08:00
    ^_^ 机智的我从一开始就是 HTTPS
    BSD
        7
    BSD  
       2016-11-25 14:12:53 +08:00
    @lazycat 那样的话,进出双向的流量都算在楼主头上了,他用外部图床,估计就是为了省流量。
    jarlyyn
        8
    jarlyyn  
       2016-11-25 14:13:42 +08:00
    你的问题不是图床的问题。

    搬家不是应该是直接在 nginx 里用 sub_filter 把仓库地址给替换了吗?
    lifeha
        9
    lifeha  
       2016-11-25 14:13:49 +08:00
    七牛和又拍都可以绑定域名的时候上传证书就可以 https 了
    misaka19000
        10
    misaka19000  
       2016-11-25 14:27:05 +08:00
    我博客的图片从一开始就是放在本地的。。。
    Drops
        11
    Drops  
       2016-11-25 14:34:00 +08:00 via Android
    前些天,因为要上 HTTPS ,手工替换了所有博客图片到七牛,但是感觉还是有点不放心,技术太弱了。。。
    quietjosen
        12
    quietjosen  
    OP
       2016-11-25 14:46:50 +08:00
    @BSD @jarlyyn
    倒不是硬盘空间、流量的问题,更多的是历史原因。毕竟一开始写博客的时侯并不会想那么多,有图片就用、能打开就行。现在要把各个地方的图片统一到一个支持 https 图床,有些麻烦。
    quietjosen
        13
    quietjosen  
    OP
       2016-11-25 14:47:25 +08:00
    @hteen 这是真机智
    quietjosen
        14
    quietjosen  
    OP
       2016-11-25 14:47:48 +08:00
    @lifeha 新图床是好办的,难办的是已有图片。
    quietjosen
        15
    quietjosen  
    OP
       2016-11-25 14:48:34 +08:00
    @misaka19000 本地的是很好处理的。唯一的问题就是: Markdown 文本复制到别的地方时,相对链接就不干活了。
    quietjosen
        16
    quietjosen  
    OP
       2016-11-25 14:48:53 +08:00
    @Drops 是不放心七牛吗?还是?
    Tink
        17
    Tink  
    PRO
       2016-11-25 14:51:11 +08:00 via iPhone
    我准备用脚本直接操作数据库,把 http 的图片地址全部拿出来下载到本地在上传到 https 再写回数据库
    wangjiezheng
        18
    wangjiezheng  
       2016-11-25 14:52:44 +08:00
    用又拍的话,直接可以在绑定域名时候上传证书,就可以 https 了,而且自主上传证书,不用联系客服,很方便啊。省去一堆麻烦
    183387594
        19
    183387594  
       2016-11-25 14:55:23 +08:00
    我做采集的 各种站点的图片 怎么办
    eoo
        20
    eoo  
       2016-11-25 15:10:59 +08:00 via Android
    @183387594 最简单 把 http 踢桃成 https 逃。。。。
    misaka19000
        21
    misaka19000  
       2016-11-25 15:20:57 +08:00
    @quietjosen 额,博客的域名又不会变
    xiaoz
        22
    xiaoz  
       2016-11-25 15:23:59 +08:00
    博客一开始就是本地和远端同时存储了图片,过度到 https 就比较轻松啦。博客图片放在又拍的,又拍可以自主部署 SSL 比较方便,放个博客: https://www.xiaoz.me/ ,逃~
    yizhilee
        23
    yizhilee  
       2016-11-25 15:31:44 +08:00
    @lifeha @wangjiezheng 博客域名没有备案,七牛和又拍的二级地址支持 https 吗?
    jarlyyn
        24
    jarlyyn  
       2016-11-25 15:35:15 +08:00
    @yizhilee
    腾讯云新用户送半年每个月 50G 免费流量,听说过期后每个月也能有 10G 免费流量,没验证过。

    他的 cdn 可以有用自带的 https2 级链接。 nginx 里做个替换就可以了。

    给我女儿做了个占域名的站, https://www.xuxinquan.com/,就是这样处理的。
    jarlyyn
        25
    jarlyyn  
       2016-11-25 15:39:53 +08:00
    @yizhilee

    nginx 配置

    server {

    server_name www.xuxinquan.com;

    listen 443;

    index index.html;

    ssl on;

    location /

    {

    sub_filter '/skin/' 'https://xuxinquan-1252895778.file.myqcloud.com/skin/';

    sub_filter_once off;

    }

    root /dockers/www.xuxinquan.com/data/src;

    ssl_certificate /dockers/nginx/ssl/www.xuxinquan.com.cer;

    ssl_certificate_key /dockers/nginx/ssl/www.xuxinquan.com.key;

    }


    需要切换图床的话直接把内容替换了就可以了。

    当然 /skin 比较容易误判。但我就是个纯静态 html ,就没改复杂的名字。
    Drops
        26
    Drops  
       2016-11-25 15:57:53 +08:00 via Android
    @quietjosen 对,说是测试域名
    wangjiezheng
        27
    wangjiezheng  
       2016-11-25 16:04:37 +08:00
    @yizhilee 域名没有备案的话,是无法使用的。 其实域名备案,申请个证书,比你选择迁移应该要方便不少。据我了解,二级地址,又拍云是支持 https 的。
    idblife
        28
    idblife  
       2016-11-25 16:07:20 +08:00
    s3 好用不多解释
    wordpress 无缝链接,前端加上 cloudflare 免费 cdn 省钱
    Felldeadbird
        29
    Felldeadbird  
       2016-11-25 16:24:50 +08:00
    一直图片都是放在本地的。个人站也不会说缺这点 空间 和打开速度。反正日流量也就是 平均 50 到偶然峰值 200 天
    doubleflower
        30
    doubleflower  
       2016-11-25 16:32:44 +08:00 via Android
    图片不是 https 也能正常显示啊,这有什么讲究吗
    jarlyyn
        31
    jarlyyn  
       2016-11-25 16:40:19 +08:00
    @doubleflower

    会报安全错误

    会无法反盗链( https 页面访问 Http 资源时会不带 ref)
    183387594
        32
    183387594  
       2016-11-25 17:03:22 +08:00
    @eoo 图片都是别人站点的,怎么跳啊。用自己服务器做中转?
    SlipStupig
        33
    SlipStupig  
       2016-11-25 17:09:27 +08:00
    nginx 反向代理
    eoo
        34
    eoo  
       2016-11-25 17:15:46 +08:00 via Android
    @183387594 就直接替换成 https 啊 反正能正常显示就行 复杂的方法 有很多 比如用 Nginx 反向代理
    yizhilee
        35
    yizhilee  
       2016-11-25 17:28:17 +08:00
    @jarlyyn 我前两天还领了腾讯云的 CDN 礼包,当时还试了一下以为不支持 https ,我再去看看,谢谢你!
    @wangjiezheng 已经上了 SSL 证书,图片在服务器上,想用 CDN 加速图片但又不想备案,只能用二级地址。七牛的二级地址好像也支持 https ,但是我没有找到在哪儿设置。
    maye526
        36
    maye526  
       2016-11-25 17:30:13 +08:00
    用又拍,还不错的
    jarlyyn
        37
    jarlyyn  
       2016-11-25 17:34:10 +08:00
    @yizhilee
    要在 cdn 里,不在云对象里。

    云对象是没 https 的。必须指定对应的 cdn 才行。
    quietjosen
        38
    quietjosen  
    OP
       2016-11-25 17:37:41 +08:00
    @Tink 我目前是全静态的,没有数据库…
    quietjosen
        39
    quietjosen  
    OP
       2016-11-25 17:38:00 +08:00
    @wangjiezheng 前提是绑定域名,哎,是个痛啊
    quietjosen
        40
    quietjosen  
    OP
       2016-11-25 17:39:26 +08:00
    @misaka19000 哦,你的图片是用的带域名的全路径、不是相对路径,对吧?

    我是说,如果是全路径的话,可以把 Markdown 的文本复制到任意其他地方,比如从博客到 V2EX ,而不用担心图片地址无效。
    quietjosen
        41
    quietjosen  
    OP
       2016-11-25 17:41:30 +08:00
    @Drops 哦,七牛的测试域名确实不适合生产环境,绑定域名(前提是域名先备案)后,可以用自己的域名,就不用担心这个问题了。
    183387594
        42
    183387594  
       2016-11-25 17:44:10 +08:00
    @eoo 别人家的图片不支持 https 的
    lslqtz
        43
    lslqtz  
       2016-11-25 18:19:21 +08:00 via iPhone
    @jarlyyn 不会报的,能正常访问。
    可以通过 meta 标签设置 ref
    yizhilee
        44
    yizhilee  
       2016-11-25 18:30:25 +08:00
    @jarlyyn 十分感谢,问题已解决,之前是因为 CDN 设置出错了: 1. 对象存储不支持 https 回源; 2.我开了防盗链所以直接上传在本地测试也失败了。
    zhangneww
        45
    zhangneww  
       2016-11-25 18:59:18 +08:00
    博客放在 coding ,包括图片, https 用的 cloudflare 的。。。
    justyy
        46
    justyy  
       2016-11-25 19:04:19 +08:00
    自己做的免费图床, 好用: https://uploadbeta.com/picture-gallery/?sort=1

    1.在墙外,主机 VPS 在英国 (6 核 3G 内存,每月 5TB 流量)
    2.cloudflare PRO 加速
    3.域名 privacy
    4.支持 API
    5.只要不传露点的就 不用担心被删
    6.不用注册,无限上传
    Quaintjade
        47
    Quaintjade  
       2016-11-25 20:34:45 +08:00 via Android
    以前博客图片放七牛,后来好像不支持 https 了,就自己搭反代,顺便把 nginx 基本配置学会了……
    zzzmode
        48
    zzzmode  
       2016-11-25 20:45:53 +08:00
    博客放 github 上,绑定域名用 cloudflare 开了 https ,顺便给 vps 空网站也加上了 https ,开启 hsts
    ershiwo
        49
    ershiwo  
       2016-11-25 21:20:04 +08:00
    @yizhilee 七牛的 *.qnssl.com 支持 HTTPS ,但不支持 HTTP/2 。不过 https 流量是收费的, 0 ~ 100 TB 是 0.36 元 / GB 。
    这个月流量突然增加,我想是时候找回我那个被冻结的又拍账号了(
    Dowding
        50
    Dowding  
       2016-11-25 21:42:04 +08:00
    我的图片之前放贴图库挂过之后就自建图片 302 服务了,一图多图床,不过使用下来觉得也不是一个特别好的方案
    yizhilee
        51
    yizhilee  
       2016-11-25 22:13:46 +08:00
    @ershiwo 我的又拍云账号之前也被冻结了……后来找客服给我解冻的。
    jimzhong
        52
    jimzhong  
       2016-11-25 22:36:49 +08:00
    个人博客没有必要 https 吧
    quietjosen
        53
    quietjosen  
    OP
       2016-11-25 22:39:23 +08:00
    @zzzmode 这方案可以
    quietjosen
        54
    quietjosen  
    OP
       2016-11-25 22:39:59 +08:00
    @ershiwo 我目前也在用七牛的 https ,但毕竟是七牛的测试域名,不放心。在考虑阿里云 OSS
    quietjosen
        55
    quietjosen  
    OP
       2016-11-25 22:40:22 +08:00
    @takashiki 自建图床,总是觉得不如用服务,毕竟个人的量小
    quietjosen
        56
    quietjosen  
    OP
       2016-11-25 22:40:44 +08:00
    @jimzhong 一方面这是趋势,另一方面主要是配合 Mac App Store
    ershiwo
        57
    ershiwo  
       2016-11-25 23:01:31 +08:00
    @quietjosen 国内服务都要备案,这个跳不开。不考虑国内用户的话 Cloudflare 其实就够了。
    jimzhong
        58
    jimzhong  
       2016-11-25 23:08:27 +08:00
    @quietjosen HTTPS 对缓存是很不友好的。而且把 Private Key 给 CDN 我是不太放心的。
    joniking
        59
    joniking  
       2016-11-26 00:22:35 +08:00
    建站之初就不怕麻烦地选择了全站 HTTPS ,一直测试安全系数为 A+才罢休的路过……
    quietjosen
        60
    quietjosen  
    OP
       2016-11-26 00:23:24 +08:00
    @ershiwo 可是,我还是想让网站快一点…
    quietjosen
        61
    quietjosen  
    OP
       2016-11-26 00:24:01 +08:00
    @jimzhong 谢谢提醒,不过没办法,还是要硬着头皮上 https
    quietjosen
        62
    quietjosen  
    OP
       2016-11-26 00:24:13 +08:00
    @joniking 明智之举
    bombless
        63
    bombless  
       2016-11-26 12:49:59 +08:00 via Android
    ……最近不是说 ios 又不强制 https 了么
    bombless
        64
    bombless  
       2016-11-26 12:51:26 +08:00 via Android
    cloudflare 可以是你网站是 http 的然后它分发的时候给你弄成 https 的
    ershiwo
        65
    ershiwo  
       2016-11-26 14:14:14 +08:00
    @joniking 现在好像要进 HSTS Preload 才能给 A+
    ershiwo
        66
    ershiwo  
       2016-11-26 14:14:58 +08:00
    @quietjosen 那最好的解决办法就是备案然后用国内服务了┑( ̄Д  ̄)┍
    joniking
        67
    joniking  
       2016-11-26 18:39:03 +08:00
    @ershiwo 反正我是没有 Preload
    quietjosen
        68
    quietjosen  
    OP
       2016-11-26 22:15:04 +08:00
    @ershiwo 目前我只将 https 做到 A-;毕竟是小站,不再折腾更高了。

    但,图床搬家的事还没搞…
    ershiwo
        69
    ershiwo  
       2016-11-26 22:53:30 +08:00
    @joniking 嗯,我也只是加了 HSTS 头。这个是以后的要求。
    ershiwo
        70
    ershiwo  
       2016-11-26 22:54:41 +08:00
    @quietjosen 微博图床要换的话有一个方法,把前面的 ww* 替换成 ws* 就可以用 https 访问了。
    lslqtz
        71
    lslqtz  
       2016-11-29 11:52:29 +08:00
    @jarlyyn 可以通过 meta 设置 ref 策略
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3433 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 00:41 PVG 08:41 LAX 16:41 JFK 19:41
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86