Github Page+阿里云OSS+PicGo图床创建方式

在GitHub Pages + Hexo 个人博客上,使用自己搭建的阿里云OSS图床PicGo来展示图片,降低GitHub Pages的储存压力。

测试图片

简单来说,在阿里云OSS上创建一个公共读的存储空间(Bucket),然后将图片上传至该空间并获得图片的访问链接,最后在你的Hexo文章中用这个链接即可。配合 PicGo 这样的图片上传工具使用效果更佳。

对比维度 方案 A:手动上传与管理 方案 B:配合 PicGo 工具 (推荐)
操作方式 1. 登录阿里云OSS控制台,手动上传图片。 2. 上传后,在控制台复制图片的“文件URL”。 3. 回到你的Markdown编辑器,用 ![](复制的图片URL) 格式插入。 1. 在 Typora 等Markdown编辑器中,直接将图片拖拽或截图粘贴。 2. PicGo 在后台自动将图片上传至你的OSS图床。 3. 编辑器中的图片链接被自动替换为OSS上的图片URL 。
优点 无需额外安装工具,适合极偶尔插入图片的场景。 流程丝滑,写文章时几乎无感,极大地提升了写作体验和效率。
缺点 操作繁琐,频繁上传图片会严重影响写作流。 需要额外安装和配置 PicGo 以及 Typora(或其他支持 PicGo 的编辑器)。

阿里云OSS + PicGo

  • 阿里云OSS:作为图片的云端“仓库”,为每张图片提供一个可以在互联网上访问的固定地址 。
  • PicGo:一款强大的开源图床管理工具,可以简化图片上传的步骤。它支持包括阿里云OSS在内的几乎所有主流图床,能帮你自动完成上传并将图片链接复制到剪贴板 。

创建Bucket → 设置公共读 → 新建文件夹blog → 设置自定义域名 → 配置域名云解析DNS → 购买0元个人测试免费SSL证书确保网站为Https → 创建AccessKey→ 下载PicGo → 配置AccessKey和Bucket→ 测试使用

  • 建议先绑定自定义域名、配置DNS,再配置SSL证书,因为证书验证需要域名解析生效。
  • SSL证书:可以0元购买90天免费版。

一、准备工作

  • 一个阿里云账号(已实名认证)
  • 一个已备案(如果需要)的域名,例如 your-blog-image.yourdomain.com
  • 本地安装好 PicGo(图床管理工具),在【可国内下载链接】中下载.exe。

二:创建OSS Bucket并配置基础权限

  1. 创建 Bucket

    • 登录阿里云控制台,进入对象存储 OSS 服务,点击「创建 Bucket」。
    • 关键设置
      • Bucket 名称:自定义一个全局唯一的名称,例如 your-blog-image
      • 地域:建议选择中国香港。如果域名未备案,选择香港节点可以免备案,且访问速度相对较快 。
      • 存储类型:选择「标准存储」即可 。
      • 确认创建。
    1. 读写权限设置为「公共读」
    2. 防盗链不开启或开启防盗链(Referer)允许空 Referer。左侧「权限管理」菜单中,点击「防盗链」,确保「Referer 是否允许为空」的选项是勾选状态(即为“允许”)。PicGo 上传时可能不携带 Referer,如果不允许空,请求会被拒绝。注意:如果已经设置了白名单,请确保 \*.yourblog.com 等域名在列表中
    3. 打开【文件管理】,【文件列表】,点击「新建目录」,输入名称如 blog(后续所有博客图片都上传至此目录,便于管理)。
  2. 绑定自定义域名并开启HTTPS

    • 这一步让图片可以使用自己的域名,并且支持HTTPS,避免被GitHub Pages屏蔽。

      1. 在OSS中绑定域名
      • 在Bucket左侧菜单,点击「传输管理」→「域名管理」。
      • 点击「绑定域名」,输入你的自定义域名,例如 `your-blog-image.yourdomain.com``。
      • 重要:暂时不要勾选“自动添加CNAME”,因为稍后要手动去DNS服务商处添加解析。
      • 点击「提交」,此时域名状态显示“待绑定”或“CNAME未配置”。
  3. 在域名DNS服务商处添加CNAME记录

    登录域名管理后台(阿里云云解析DNS、DNSPod),添加一条记录:

    • 记录类型CNAME
    • 主机记录:例如 your-blog-image
    • 记录值:填写在OSS Bucket概览页看到的 Bucket域名,例如 your-blog-image.oss-cn-hongkong.aliyuncs.com
    • TTL:默认即可

    等待DNS解析生效(通常几分钟)。

  4. 回到OSS控制台,完成绑定并配置HTTPS

    • 在OSS中【Bucket配置】中的「域名管理」页面,刷新后应该看到域名状态变为“已绑定”。
    • 点击该域名右侧的「证书托管」。
    • 选择SSL证书
      • 如果没有证书,搜索数字证书管理服务(原SSL证书),点击SSL证书管理V2.0,找到**个人测试证书(原免费证书)**,0元购买供90天期免费证书,可续签。点击购买证书。
      • 购买成功后找到“申请证书”,按提示绑定域名,完成域名验证即可。
      • 申请大约10分钟,已有证书后显示“已签发”,点击下载,选择“其他”分类中的“PEM/KEY”格式,这个格式兼容性比较强,后续配置OSS或者Web服务都可以使用。回到OSS「域名管理」页面,可选择「自定义上传」。
    • 证书上传/申请成功后,回到「域名管理」,再次点击「证书托管」,点击该域名右侧的「证书托管」,在证书名称下拉列表选择刚才的证书并提交,确保公钥和私钥粘贴完整。
    • 配置完成后,自定义域名就支持HTTPS了。
  5. 可选:强制HTTPS访问

    • 在Bucket的「权限控制」→「Bucket 授权策略」中添加如下策略,按语法策略添加,拒绝所有HTTP请求:点击编辑。

    • {
        "Version": "1",
        "Statement": [{
            "Effect": "Deny",
            "Action": ["oss:*"],
            "Principal": ["*"],
            "Resource": [
              "acs:oss:*:*:your-blog-image",
              "acs:oss:*:*:your-blog-image/*"
            ],
            "Condition": {
              "Bool": {
                "acs:SecureTransport": ["false"]
              }
            }
        }]
      }
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49



      ​ 点击保存。

      #### 三、创建阿里云AccessKey(用于PicGo)

      1. 鼠标悬停在阿里云右上角头像,点击【权限与安全】中的「**AccessKey**」。
      2. 选择「创建AccessKey」:
      - 保存好生成的 **AccessKey ID** 和 **AccessKey Secret**。
      3. 确保状态为【启用】

      #### 四、配置PicGo

      1. 打开PicGo,点击左侧「图床设置」,选择「阿里云OSS」。
      2. 填写以下信息:
      - **图床配置名**:自定义,如 `MyBlog`
      - **设定KeyId**:粘贴刚才保存的AccessKey ID
      - **设定KeySecret**:粘贴AccessKey Secret
      - **设定Bucket**:你的Bucket名称,例如 `your-blog-image`
      - **设定存储区域**:你的Bucket地域代码,如 `oss-cn-hongkong`(可在Bucket概览页找到)
      - **设定存储路径**:你创建的文件夹名 + `/`,例如 `blog/`(这样图片会自动上传到该文件夹内)
      - **设定自定义域名**:填写你绑定的HTTPS域名,例如 `https://your-blog-image.yourdomain.com`(**注意:必须以 `https://` 开头,结尾不要加`/`**)
      - 最终效果:
      - `MyBlog`
      - AccessKey ID
      - AccessKey Secret
      - `your-blog-image`
      - `oss-cn-hongkong`
      - `blog/`
      - `https://your-blog-image.yourdomain.com`
      3. 点击「确定」保存。

      ------

      #### 五、测试上传

      1. 在PicGo主界面上传一张图片,如果配置正确,会显示上传成功。
      2. 点击图片右侧的「复制链接」,得到形如 `https://your-blog-image.yourdomain.com/blog/png.png` 的链接。
      3. 在浏览器中打开该链接,确认图片能正常显示。

      ------

      #### 六、在Hexo博客中使用

      在写Markdown文章时,直接粘贴PicGo复制的图片链接即可:

      markdown

图片描述


- **关于 PicGo 与 Typora 的集成**:

  > **💡 进阶技巧**:如果你使用 Typora 作为 Markdown 编辑器,可以在 Typora 的「偏好设置」-「图像」中,将“上传服务”选择为“PicGo(app)”,并指定 PicGo 的安装路径。此后,你在 Typora 中直接拖拽或粘贴图片,就会自动调用 PicGo 上传到 OSS 并将链接插入文章,实现真正的“无感”写图。

- **关于图片处理(可选)**:

  > **💡 进阶技巧**:阿里云 OSS 提供了丰富的图片处理功能(如缩放、裁剪、加水印)。你可以在图片 URL 后面加上参数来实现,例如 `?x-oss-process=image/resize,w_600` 可以将图片宽度缩放至 600px。这非常适合在博客中根据不同场景动态调整图片尺寸。
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

You Found Me.

支付宝
微信