您正在查看: 学习心得 分类下的文章

let's encrypt泛域名野卡证书配置笔记

今天听说let's encrypt的泛域名野卡证书正式上线了,测试了那么久....
本以为是有生之年系列,不过能赶上还是美滋滋的 太开心.png
泛域名证书就比单域名证书方便的多了,一次签发所有子域名通用 只需要担心续期问题就行了
这里我用的是acme.sh自动签发的
Github:https://github.com/Neilpang/acme.sh
官方中文说明:https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E

开始配置:

1.安装acme.sh

安装很简单 一个命令就搞定了

curl  https://get.acme.sh | sh

安装成功后就自动吧acme安装进了用户目录下的.acme目录中了,并且自动把acme.sh添加进了用户环境中,可以很方便的直接使用acme.sh命令。

2.获取证书

这里我使用dns自动验证方式验证域名所有权
acme.sh 目前支持 cloudflare, dnspod, cloudxns, godaddy 以及 ovh 等数十种解析商的自动集成
具体可参考官方文档:https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md

由于我的dns解析使用的CloudXNS 所以可以直接在我的CloudXNS 设置中获取dns api
获取自己的dns api就可以进行配置了

export CX_Key="1234"
export CX_Secret="sADDsdasdgdsf"

配置好dns api后使用下面的命令 来获取证书(请替换ffis.me为自己的域名)

acme.sh   --issue   --dns dns_cx  -d ffis.me -d *.ffis.me

需要注意的是第一个 -d 后不可直接写通配符域名*.xx.com,一定要写个单域名,第二个 -d 后面可以写泛域名。
否则可能会出现签发的证书无法被信任的情况。

到这里我们的证书就自动获取到用户目录下的.acme.sh文件夹下了,建议将证书文件复制到其他目录使用,
可用以下命令自动复制到指定目录:

acme.sh  --installcert  -d  ffis.me   \
        --key-file   /usr/local/nginx/conf/ssl/ffis.me/*.ffis.me.key \
        --fullchain-file /usr/local/nginx/conf/ssl/ffis.me/*.ffis.me.cer \
        --reloadcmd  "service nginx force-reload"

该命令会被自动记录的 以后自动更新证书的时候也会自动执行该命令的

PS:acme.sh会在60天以后自动更新证书

centos7下python3与python2共存并且开启py3虚拟环境

因为下载视频需要用到python3环境,今天在我的win上安装下载工具死活安装不上去,在大盘鸡上一下就安装成功了...
可能在win上不兼容吧...无奈只能在大盘鸡上进行折腾了,顺便几个笔记

由于大盘鸡上好多程序基于python2的,所以就没法直接替换掉系统内置的环境,所以需要单独安装python3并且开启虚拟环境,这样就互不影响了,

1.首先安装所需要的依赖环境(别管用到用不到,装就对了!)

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

2.下载最新的python Python官方网站下载 我这里最新版是python 3.6.4

wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz

3.解压下载的压缩文件,并且进入解压后的目录

tar -zxvf Python-3.6.4.tgz
cd Python-3.6.4

4.创建Python3的安装目录

mkdir /usr/local/python3

5.开始编译安装python3

./configure --prefix=/usr/local/python3
make && make install

6.创建python3pip3的软连接

ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

7.测试安装后的python3pip3命令

[root@host]# python3 -V
Python 3.6.4
[root@host]# pip3 -V
pip 9.0.1 from /usr/local/python3/lib/python3.6/site-packages (python 3.6)

到此python3就单独安装完成了,也不影响系统内置的python2环境
可是系统中并没有python3环境,有些软件需要运行在python3环境中,
这时候我们就需要创建一个虚拟的python3环境了
创建虚拟环境很简单,运行以下命令即可

cd /opt
python3 -m venv py3

此时虚拟环境已经安装好了
虚拟环境使用方法:
进入虚拟环境

source /opt/py3/bin/activate 或者
. /opt/py3/bin/activate

进去后是这样的
QQ截图20180125233726 (1).png
红框内即是所运行的虚拟环境
如需退出虚拟环境,使用deactivate命令即可。
好了,centos7python3的虚拟环境搭建完成!

个人私有云搭建-Nextcloud安装笔记

PS:前几天百度云开始对使用第三方下载工具的账号封号 不高兴.png ,现在基本已经没有免费好用的网盘供我们使用了...
对于手中有服务器并且乐于折腾的小朋友来说,搭建个人私有云来储存我们的大姐姐最合适不过了,也安全。
在这里我就搭建Nextcloud私有云的过程,写成笔记记录下来,供大家参考和自己学习使用 乖.png

Nextcloud

Nextcloud是一个免费专业的私有云存储网盘开源项目,可以让你简单快速地在个人/公司电脑、服务器甚至是树莓派等设备上架设一套属于自己或团队专属的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。

简单的说,Nextcloud就是一个功能非常强大的免费开源的私人网盘程序,因此只要你的设备性能和空间充足,那么使用起来几乎没有任何限制。唯一的门槛就是安装和配置Nextcloud服务端的时候需要一点点的折腾。
软件截图:
nextcloud1.jpg
nextcloud2.png

下面我们开始折腾

- 阅读剩余部分 -

短网址生成器上线辣~

QQ截图20171231125050 (1).png

传送门 https://api.ffis.me/url/index.html
滑稽.png 滑稽.png 滑稽.png 滑稽.png 滑稽.png

基于新浪的短网址生成器,能自动识别网址类型,输入长网址自动缩短,输入短网址则一键还原。

注:仅支持 t.cn 的短网址还原

Centos下Git1.7.1升级Git1.15.1

今日腾讯云给我提示服务器存在一个Git的安全漏洞
QQ截图20171211221905 (1).png

虽然我基本不怎么用,但是老提示也是心烦,就顺便给Git升个级吧

之前的git是从yum一键安装的,由于centos6的yum里面的git最新版本也就是1.7.1,所以这里我们需要自己重新安装下git(截至目前官方最新版本git是1.15.1)

开始升级

首先我们要卸载已经安装的git 这里可以用git –-version命令查看当前的版本
卸载git

yum remove git

然后我们配置安装所需要的环境(以下内容基本照抄了nummy的代码)

yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc xmlto perl-devel perl-CPAN autoconf*

下载最新版本编译安装并将git添加到环境变量中

wget https://github.com/git/git/archive/v2.15.1.tar.gz
tar zxvf v2.15.1.tar.gz
cd git-2.15.1
make configure
./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv
make all doc
make install install-doc install-html
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
source /etc/bashrc

到这里的Git应该安装并配置完成了
我们可以运行git --version来查看下刚刚安装的git版本号

# git --version
git version 2.15.1

完结撒花~

强制客户端刷新js/css浏览器缓存

由于经常魔改主题,就会发现如果之前浏览器已经缓存了js/css等文件
当服务器中的js/css文件更新了,客户端直接访问是不会更新缓存的,就会导致页面显示不正常
需要用户进行Ctrl+F5强制刷新才能正常访问,这样显然是不合理的

经研究发现两种解决办法:

方法1 更新文件后更改引用的文件名

缓存是通过文件名标记缓存的内容的,如果我们网站更新了js/css文件后,直接在更换引用文件名即可
例如:原先调用语句是如下样式

<link rel="stylesheet" href="customs.css" />

直接更改引用的文件名即可

<link rel="stylesheet" href="customsV2.css" />

方法2 给css/js等文件加个版本号

如果我们每次更新js/css文件后还要修改文件名就有点麻烦了,更为方便的方法就是在引用js/css的结尾处加入版本号即可
例如:原先调用语句是如下样式

<link rel="stylesheet" href="customs.css?v=1.0" />

更改css文件的版本号为1.1

<link rel="stylesheet" href="customs.css?v=1.1" />

参数说明

1.js/css文件后的问号是不起任何作用的,仅能当做后缀使用的,所以可以用问号加入版本号等信息,更新文件版本的同时也可以刷新浏览器的缓存,很是方便。
2.问号后面不一定是版本号,可以根据自己的喜好改成任何字符都行,如时间(?20171209),序号(?123456)等等。
3.加上版本号的脚本实际上并不存在,由服务器动态生成,仅仅是区别文件而已。

<link rel="stylesheet" href="customs.css?v=1.1" />
# 这段代码对于文件来说等价于
<link rel="stylesheet" href="customs.css" />

但是浏览器就会认为它是这个文件的某一个版本

PS:两种方法达到的效果是一样的,可以根据自己的喜好选择,也可以混合使用。

Typecho友情链接插件Links越权漏洞

今天下午写完论文无聊的逛大佬博客,在一个大佬博客发现了一个友链BUG,在自己的Demo站上试了试,还真有这个BUG,于是就转载了这篇文章,使用友链插件还未修复的dalao们一定要抽空修复下~
原文地址:https://wischu.com/archives/791.html

以下为转载内容

趁着这几天学校刚开学能有稍微有多一点空余时间,便对博客的插件进行了一次检查维护。当维护到友链插件Links时,留意到一个比较奇怪的问题,在插件目录下负责处理后台管理友链请求的Action.php之中的全部方法没有做任何权限验证,一开始我以为Typecho本身会对这些请求作相应认证工作,但是经过一些测试之后证实这是一个允许越权以及表单欺骗的漏洞。

所有Links插件版本为 1.1.1 或之前的用户都可能受到本漏洞影响。
发现Links新增友链表单项目未做过滤,可以配合此漏洞实施跨站攻击,请受影响用户立即检查并修补。

漏洞修补

- 阅读剩余部分 -

使用Ajax异步加载一言Hitokoto

博客和主页很久前就接入了jad大佬的一言系统,只不过采用的是同步加载请求;
由于我的一言放在了页首,所以在加载的时候就会等待获取一言后才会继续往下加载,
加载效率不忍直视..
并且如果一言api暂时的挂掉的话,我的页面也都会加载不出来,严重影响阅读体验。

所以就准备采用异步加载的方式加载一言,这样就对页面的加载速度没有什么影响了...

至少一言挂掉了,我的页面也都可以打开了...

- 阅读剩余部分 -

解决Typecho博客全球通用头像Gravatar不显示方法 - 替换头像源

之前我写过一个方法,只不过是直接修改了程序代码,但这样就有一个缺点,升级程序后就失效了。
在我Typecho升级1.1之后,羽中的头像缓存插件失效了,我的头像又无法显示了...
于是我就想找到一个更加简单的方法 - 直接替换程序的头像源即可

替换方法

直接打开Typecho安装目录下的config.inc.php文件,加入以下代码即可(加在任何位置都可)

define('__TYPECHO_GRAVATAR_PREFIX__', 'https://cdn.v2ex.com/gravatar/');

PS:此方法只在Typecho1.1版测试过,其他版本我还没测试。

可用的地址

https://cdn.v2ex.com/gravatar/
https://secure.gravatar.com/avatar/
https://gravatar.cat.net/avatar/

当然也有其他的头像源,根据自己的需要修改即可。

发现新姿势!Centos 通过 lrzsz 轻松实现 ssh 下文件上传下载

博主一直使用的是Xshell来进行服务器管理,使用Xftp来进行文件管理的;
今天偶然发现了centos自带的lrzsz可以直接在ssh下实现文件的上传的下载;
这样就省去了Xftp了,更方便了有木有~

博主所使用的Centos6.9是自带lrzsz的,如果你的centos没有自带lrzsz可以直接yum install lrzsz来进行安装。
QQ截图20170818234349 (1).png

使用方法:
lrzsz的使用方法就很简单了
如果你要上传文件 直接用rz命令 就会弹出选择文件的窗口 然后选择文件上传就行了

- 阅读剩余部分 -

  1. 1
  2. 2
  3. 3
  4. 4