/images/avatar-home.jpeg

github私有库免费了

现在免费使用了,在 https://github.com/pricing 页面多了 Unlimited private repositories 一栏,无限的私人存储库。 免费版服务将合作者数量限制为最多3人,且不提供bug跟踪和高级代码审查服务。

企业服务的价格为每月21美元,包含了Team级服务(每月收费9美元)的一切功能,同时允许用户选择使用自托管或云托管,并提供SAML单点登录、发票结算、访问配置等更多服务,企业云服务承诺99.95%的正常运行时间。

https://img.curlc.com/images/2019/01/08/7be0e59b77d024f992fa133119e4f0e7.png

微软的 Azure Repos 也提供 无限制免费专用(私有)存储库,地址: https://azure.microsoft.com/zh-cn/services/devops/repos/

cloudflare 设置SSL注意事项

1、CF SSL的三种模式

Off: 关闭证书
Flexible: 由CF提供证书 后端无需启用
Full: 由CF提供证书 后端需要安装证书 可以是自签证书
Full(strict): 由CF提供证书 后端需要安装证书 需要可信证书/CF提供的15年自签证书?
80跳443和www跳non-www CF和后端选一个设置即可 不用两边都设置
CF提供的证书
sni.cloudflaressl.com: 合作伙伴接入 一个网站一个证书 免费和收费套餐有没有区别不知道
snixxxxxx.cloudflaressl.com 官方接入免费套餐 多域名共用 通配符
sslxxxxxx.cloudflaressl.com 官方接入收费套餐 单域名 通配符

CF提供的收费通配符证书 显示自己域名 只能在CF上启用 无法安装在后端 5刀起步

https://i.loli.net/2018/10/02/5bb310d9a4079.png

nginx配置中location匹配规则详解

一、概述

nginx官方文档给出location语法如下: location [=||*|^~] uri { … } 其中,方括号中的四种标识符是可选项,用来改变请求字符串和uri的匹配方式。uri是待匹配的请求字符串,可以是不包含正则的字符串,这种模式被称为“标准的uri";也可以包含正则,这种模式被称为"正则uri",如下:

location ~ .*\.(php|php5)?$ {
}

二、四种可选的标识符

标识符 描述 = 精确匹配;用于标准uri前,要求请求字符串和uri严格匹配。如果匹配成功,就停止匹配,立即执行该location里面的请求。 ~ 正则匹配;用于正则uri前,表示uri里面包含正则,并且区分大小写。 * 正则匹配;用于正则uri前,表示uri里面包含正则,不区分大小写。 ^ 非正则匹配;用于标准uri前,nginx服务器匹配到前缀最多的uri后就结束,该模式匹配成功后,不会使用正则匹配。 无 普通匹配(最长字符匹配);与location顺序无关,是按照匹配的长短来取匹配结果。若完全匹配,就停止匹配。 备注: 1、如果uri里面包含正则表达式,就必须使用*标识符; 2、针对匹配标识符,可以在前面加上!来取反,如下: !~ 表示正则不匹配,区分大小写。 !~ 表示正则不匹配,不区分大小写。 2.1 “=”精准匹配案例

location  = /login {
# 精确匹配 /login ,匹配成功后,立即结束
}

2.2 “~”区分大小写正则匹配案例

Nginx使用auth_basic 保护wordpress 登录页面

有时候看日志经常看到很多扫描工具啊、爆破等等、这里突然想到可以用Nginx自带的auth_basic 来给登录页面 wp-login.php再做一个验证,这样可以避免扫描工具一直扫。

1、生成认证的用户名与密码

这一点在这篇 nginx添加认证,使通过密码访问页面 文章中说过了,就不再写了

2、修改nginx 伪静态

增加以下

location = /wp-login.php {
    auth_basic "Protected Elasticsearch";
    auth_basic_user_file /www/nginx_passwd;
    #设置php解析php,不然认证成功后就是直接下载php文件了,因为这里用了精准匹配,优先匹配
    #这里根据自己的情况来设置,不知道怎么写就去看一下默认解析php的地方
    fastcgi_pass unix:/tmp/php-cgi-72.sock;
    #fastcgi_index wp-login.php;
    include fastcgi.conf;
}

3、重载 Ningx

service nginx reload

GPG入门指南(加密签名)

我们平时都听过非对称加密,公钥和私钥,签名验证,但这些证书都是怎么得到的呢?本篇文章会解答这些问题。

背景介绍

加密的一个简单但又实用的任务就是发送加密电子邮件。多年来,为电子邮件进行加密的标准一直是PGP(Pretty Good Privacy)。程序员Phil Zimmermann特别为电子邮件的保密编写的PGP。 这个软件非常好用,迅速流传开来,成了许多程序员的必备工具。但是,它是商业软件,不能自由使用。 作为PGP的替代,如今已经有一个开放源代码的类似产品可供使用。GPG(Gnu Privacy Guard),它不包含专利算法,能够无限制的用于商业应用。 本文将会介绍文件加密,至于GPG的其他用途,比如邮件加密,请参考这个网站https://help.ubuntu.com

安装

本人使用mac电脑,因此使用brew安装的,很简单,打开终端,输入brew install gpg就行了,至于其他的平台,可以自行搜索。

bogon:~ XXXX$ brew install gpg
==> Downloading https://homebrew.bintray.com/bottles/gnupg-1.4.20.el_capitan.bot
######################################################################## 100.0%
==> Pouring gnupg-1.4.20.el_capitan.bottle.tar.gz
?  /usr/local/Cellar/gnupg/1.4.20: 53 files, 5.4M

安装完成后,键入命令gpg --help:

bogon:~ XXXX$ gpg --help
gpg (GnuPG) 1.4.20
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Home: ~/.gnupg
支持的算法:
公钥:RSA, RSA-E, RSA-S, ELG-E, DSA
对称加密:IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256,
               TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256
散列:MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
压缩:不压缩, ZIP, ZLIB, BZIP2
语法:gpg [选项] [文件名]
签名、检查、加密或解密
默认的操作依输入数据而定
指令:
 -s, --sign [文件名]        生成一份签名
     --clearsign [文件名]   生成一份明文签名
 -b, --detach-sign             生成一份分离的签名
 -e, --encrypt                 加密数据
 -c, --symmetric               仅使用对称加密
 -d, --decrypt                 解密数据(默认)
     --verify                  验证签名
     --list-keys               列出密钥
     --list-sigs               列出密钥和签名
     --check-sigs              列出并检查密钥签名
     --fingerprint             列出密钥和指纹
 -K, --list-secret-keys        列出私钥
     --gen-key                 生成一副新的密钥对
     --delete-keys             从公钥钥匙环里删除密钥
     --delete-secret-keys      从私钥钥匙环里删除密钥
     --sign-key                为某把密钥添加签名
     --lsign-key               为某把密钥添加本地签名
     --edit-key                编辑某把密钥或为其添加签名
     --gen-revoke              生成一份吊销证书
     --export                  导出密钥
     --send-keys               把密钥导出到某个公钥服务器上
     --recv-keys               从公钥服务器上导入密钥
     --search-keys             在公钥服务器上搜寻密钥
     --refresh-keys            从公钥服务器更新所有的本地密钥
     --import                  导入/合并密钥
     --card-status             打印智能卡状态
     --card-edit               更改智能卡上的数据
     --change-pin              更改智能卡的 PIN
     --update-trustdb          更新信任度数据库
     --print-md 算法 [文件]
                               使用指定的散列算法打印报文散列值
选项:
 -a, --armor                   输出经 ASCII 封装
 -r, --recipient 某甲        为收件者“某甲”加密
 -u, --local-user              使用这个用户标识来签名或解密
 -z N                          设定压缩等级为 N (0 表示不压缩)
     --textmode                使用标准的文本模式
 -o, --output                  指定输出文件
 -v, --verbose                 详细模式
 -n, --dry-run                 不做任何改变
 -i, --interactive             覆盖前先询问
     --openpgp                 行为严格遵循 OpenPGP 定义
     --pgp2                    生成与 PGP 2.x 兼容的报文
(请参考在线说明以获得所有命令和选项的完整清单)
范例:
 -se -r Bob [文件名]           Bob 这个收件人签名及加密
 --clearsign [文件名]         做出明文签名
 --detach-sign [文件名]       做出分离式签名
 --list-keys [某甲]           显示密钥
 --fingerprint [某甲]         显示指纹
请向 <gnupg-bugs@gnu.org> 报告程序缺陷。
请向 <i18n-zh@googlegroups.com> 反映简体中文翻译的问题。

这些帮助信息非常有用,下边演示的很多功能也是基于上边这些参数的。这里把他们列出来,方便在使用的时候查询。 如果能够显示上边的信息,说明GPG安装成功了

415.mysql利用mysqldump导出表结构和表数据

命令行下具体用法如下: 

mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 脚本名;

如果是windows,请到 bin 目录/新增环境变量 执行命令

#导出整个数据库结构和数据
mysqldump -h localhost -uroot -p123456 database > dump.sql
#导出单个数据表结构和数据
mysqldump -h localhost -uroot -p123456  database table > dump.sql
#导出整个数据库结构(不包含数据)
mysqldump -h localhost -uroot -p123456  -d database > dump.sql
#导出单个数据表结构(不包含数据)
mysqldump -h localhost -uroot -p123456  -d database table > dump.sql