如何搭建一个自己图床网站

如何搭建一个自己图床网站,第1张

很久之前买了一个腾讯云的学生服务器,但是一直没有用起来,感觉特别的浪费。又加上前段时间,七牛云的临时域名无法使用,导致我没图床用,非常的难受。

但是好在我会搜索,找到了一个 Chevereto 工具,能够方便在服务器上搭建图床,于是我就花了1个小时时间探索了一下,效果如下。

我的环境为

下面的 *** 作涉及docker,需要在root权限下执行如下 *** 作。

第一步:安装docker和compose(容器的编排工具)

第二步:获取mariadb和nmtan/chevereto镜像

第三步:使用Docker-compose启动服务。

在docker-compose.yaml 增加如下内容

编辑配置文件之后,就能方便的启动服务

输入你的公网IP和配置文件中的端口号,检查是否安装成功

如果遇到如上界面,说明成功的搭建了图床服务,但仍需要填写一些信息。之后登录之后就可以在这里进行上传图片

但是这种情况下,游客模式下也是能查看你的所有图片,那有没有办法只让自己查看自己的上传图片呢?

我们可以进入dashboard修改如下参数来设置隐私模式:

如此这般之后,你就可以放心大胆的上传你的图片,但是请遵守当地的法律法规,不要上传一些非法图片,维护社会稳定,人人有责。

七牛云是 iPic 在内测期间呼声比较高的国内图床,这里介绍下在 iPic 中添加七牛云的过程。

这点比较简单,直接到 这里 注册即可。

七牛的数据处理是以 资源 为单位的,这里我们可以简单理解为七牛中的 文件夹

登录七牛后,进入 添加资源 页面,选择添加 ****对象存储****。

这里我创建一个 ****test**** 资源。

# 在 iPic 中添加七牛图床

打开 偏好设置 ,进入 图床 页,选择添加 七牛 。

以下分别介绍各项的意义及如何配置:

完成输入后,可以点击 ****验证**** 按钮。如果输入没有问题,则右侧会出现 ****通过**** 链接,点击后就可以看到测试时上传至七牛的图片。

最后,点击 ****应用**** 按钮进行保存。

# 使用七牛

在 iPic 菜单 >图床 中选择刚刚添加的七牛,之后上传的图片就会在七牛图床中。

注:本文中的图就是通过上述方式先上传至七牛、再粘贴至 Markdown 编辑器中,确实很方便,大家试试吧。

hexo引入图片的方式有很多种:

Hexo使用图床的方式加载在blog中加载图片,会在非本人的电脑或者手机端报“html访问图片资源403问题(http referrer)”,导致采用图床方式加载的图片全部无法加载。

http请求体的header中有一个referrer字段,用来表示发起http请求的源地址信息,这个referrer信息是可以省略但是不可修改的,就是说你只能设置是否带上这个referrer信息,不能定制referrer里面的值。

服务器端在拿到这个referrer值后就可以进行相关的处理,比如图片资源,可以通过referrer值判断请求是否来自本站,若不是则返回403或者重定向返回其他信息,从而实现图片的防盗链。上面出现403就是因为,请求的是别人服务器上的资源,但把自己的referrer信息带过去了,被对方服务器拦截返回了403。

在前端可以通过meta来设置referrer policy(来源策略),具体可以设置哪些值以及对应的结果参考 这里 。所以针对上面的403情况的解决方法,就是把referrer设置成 no-referrer ,这样发送请求不会带上referrer信息,对方服务器也就无法拦截了。

浏览器中referrer默认的值是 no-referrer-when-downgrade ,就是除了降级请求的情况以外都会带上referrer信息。降级请求是指https协议的地址去请求http协议,所以上面403的情况还有另一种解决方法就是,请求的图片地址换成http协议,自己的地址使用http协议,这样降级请求也不会带上referrer。

在G:\blog\themes\butterfly\layout\includes目录下有一个head.pug文件,修改该文件的meta信息,会使生成的所有页面都带有该head。在head.pug文件中添加如下内容,结果参见图片。

在G:\blog\themes\yilia\layout_partial目录下有一个head.ejs,同样在head.ejs文件中添加如下meta信息即可

在G:\blog\public\2021目录下就是所有21年生成的blog,找到该目录下的任意一个index.html,用文本编辑器打开就可以看到已经自动生成了referrer标签了。

然后使用hexo d指令将工程同步到github即可

1. 加载本地图片的方法

2. html访问图片资源403问题(http referrer)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11454790.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存