如何为网站申请泛域名证书并自动续约
自己有很多的网站,每次都需要申请SSL证书,所以最近在鼓捣怎么申请泛域名证书减少工作量。 前言现在随着chrome大力推广网站HTTPS化,推进互联网的数据安全进程,SSL证书的申请渠道有非常的多,个人用户申请免费的SSL证书很方便。 阿里云、腾讯云都支持20个以内的单域名SSL证书,有效期是一年,但是因为网站比较多,所以首先考虑方案是申请一个免费的泛域名证书,这样在一级的所有网站可以复用一套SSL证书,更新起来也不用那么繁琐。 申请SSL免费证书的渠道 使用certbot申请SSL证书,可申请普通域名和泛域名证书并配置自动续约,有效期90天 使用acme.sh申请SSL证书,可申请普通域名和泛域名证书并配置自动续约,有效期90天 使用阿里云申请SSL证书,仅可申请普通单域名证书,过期需要人工再次申请,有效期365天 使用腾讯云申请SSL证书,仅可申请普通单域名证书,过期需要人工再次申请,有效期365天 … 使用acme.sh申请免费的SSL证书并配置自动续期为什么选择acme.sh? 由于certbot的方式需要安装对应的安装包并且需要支持python环境,配置起来较为麻...
基于authelia的最佳实践
前言作为一名工程师,在这个繁杂的网络世界中,想有自己的一片净土。自己有很多的网站,方便自己工作生活,但是苦于网络安全问题不敢轻易部署在公网中,所以发掘了这块一款SSO工具:authelia,他能很方便的在nginx层给你的网站加上独属于你的防火墙,账号密码,如果网站很多,并且没有自己独立的账号系统,那这款工具可以说非常适合你了。 关于autheliaAuthelia是一个开源身份验证和授权服务器,可通过Web门户为您的应用程序提供2要素身份验证和单点登录(SSO)。它充当反向代理(如nginx,Traefik或HAProxy)的伴侣,以使他们知道查询是否应该通过。未经身份验证的用户将重定向到Authelia登录门户。目前主要可用功能 几种第二因素方法: 带有Yubikey的安全密钥(U2F)。 使用Google Authenticator的基于时间的一次性密码。 带有Duo的移动推送通知。 使用电子邮件确认通过身份验证重置密码。 仅单因素身份验证方法可用。 尝试过多身份验证后的访问限制。 每个子域,用户,资源和网络的细粒度访问控制。 支持受单一因素保护的端点的基本身份验...
scp日常使用记录
scp 在平常会比较常用,所以记录一下对应的基本使用方法。 scp 命令介绍scp 是使用ssh协议的sftp文件上传方式,可以将文件、文件夹在服务器和本地机器之间互传,在没有图形化客户端的条件还是比较好用的 常见使用方法从服务器下载文件或者文件夹到本地123456#下载文件scp -P 30010 <username>@<hostname>:/data/ToolsetIdeaPlugin-1.0.0.zip .#下载文件夹scp -P 30010 -r <username>@<hostname>:/data . 注意: -r 代表下载递归文件夹,如果非文件夹可去掉 -P 大写的P代表对应host的端口,为了安全考虑,我们一般不会使用22作为ssh的端口 命令最后有一个 . 表示当前目录的意思。 从服务器下载多个文件到本地12# 下载多个文件到当前文件夹scp -P 30010 <username>@<hostname>:/data/\{a.md, b.md, c.md\...
Linux安装mongodb
前言因为需要部署蚂蚁笔记,就想着将数据库放在云上,后来发现基本上所有的云厂商对Mongodb收费都比较高昂,所以就选择了便宜的方案,在公有云服务器上自建mongodb服务。mongodb服务构建主要是使用的docker,数据挂载在磁盘固定的位置,并且定时进行同步 步骤 使用docker最新版的mongodb镜像 1docker pull mongo 给mongodb创建对应的本地数据存储空间以及数据备份空间 12mkdir -p /data/mongo-datamkdir -p /data/mongo-backup 写docker容器创建命令 1234#创建mongo容器并且指定对外Port为20011 挂载数据内容以及备份内容,`--auth` 开启mongo认证,不建议在公网环境暴露docker run -d -p 20011:27017 --name mongo -v /data/mongo-data:/data/db -v /data/mongo-backup:/data/backup mongo --auth 启动mongo后创建对应账号 123456dock...
Git常用命令
仓库1234567891011# 在当前目录新建一个Git代码库$ git init<!-- more --># 新建一个目录,将其初始化为Git代码库$ git init [project-name]# 下载一个项目和它的整个代码历史$ git clone [url] 配置123456789# 显示当前的Git配置$ git config --list# 编辑Git配置文件$ git config -e [--global]# 设置提交代码时的用户信息$ git config [--global] user.name "[name]"$ git config [--global] user.email "[email address]" 增加、删除文件123456789101112131415161718192021# 添加指定文件到暂存区$ git add [file1] [file2] ...# 添加指定目录到暂存区,包括子目录$ git add [dir]# 添加当前目录的所有文件到暂存区$ git add .# 添加...
ubuntu配置clash
前言作为一名软件开发攻城狮,日常佛跳墙是有必要的。近期讲win电脑上安装了ubuntu系统准备作为开发的主力系统。本次记录一下如何在ubuntu (20.04)安装 clash作为访问google.com的工具。 下载clash访问到 clash的Github地址,发现访问比较慢,别急,有方法: 访问IP地址查询 然后获取到最近的访问github的IP 执行命令sudo vi /etc/hosts 写入2.74.223.119 github.comhost 再次访问github发现速度飙升,然后下载对应系统的包 启动clash 运行sudo gzip -d clash.gz 解压对应文件夹 运行sudo cp clash的解压后的地址 /usr/local/bin/clash 复制可执行文件到bin中 执行clash 生成默认的配置文件 执行cd /home/用户名/.config/clash可以看到对应的配置文件config.yaml 将你自己的配置文件修改为config.yaml 然后再次执行clash 就可以正常的使用路由规则了,如果需要后台运行执行nohup ...
ClickHouse常用函数
前言近期项目引入了Clickhouse进行数据计算与展示,今天突然我们的PM同学来问我一个问题,怎么快速获取这十个品牌中GMV各自排名前三的SPU数据。当时想了想,一般情况下这种需求都是使用代码实现的,简直So easy,但是一旦写代码的话就没法快速获取并且以后类似的需求也没法快速响应了。 然后想到了咱们使用的是Clickhouse数据库,它自带很多函数,在经过一段时间的查询以后,发现有一个函数还是比较好用的,正好解决这种典型的分组取TOP的问题,这个函数就是groupArray(x),可以查看以下sql,看它是怎么使用的: 12345678910111213select * from (select b.bid,b.brand as brand, c[1] as top1,c[2] as top2,c[3] as top3,groupArray(3)(b.spu_name) as c,groupArray(10)(b.gmv) as d,d[1]+d[2]+d[3]+d[4]+d[5]+d[6]+d[7]+d[8]+d[9]+d[10] as gmvsum from ...
Github进行fork后如何与原仓库同步
前言 近期使用github给baidu/brcc提交pr,然后发现提完pr以后我如果再次修改并且baidu/brcc有其他人的更新,我的fork仓库无法同步,所以找了一些最佳实践,在此进行总结。 实现方案 一般情况下,这种情况有两种做法: 将fork的仓库在你的github上删除掉,然后重新fork 通过git命令将原代码进行同步到你的代码中 实际上在github的操作中都是merge 与 merge的操作,在你只需要和原代码保持一致的情况下,可以采用第二种方案进行同步 实践步骤通过git命令将原代码同步到我fork的代码仓库中,使用merge的方法来进行操作。下面是具体的操作命令,以brcc仓库为例. 1、进入到我的本地仓库中: 1cd ~/github-me/brcc/ 2、执行命令 git remote -v 查看远程仓库的地址初始情况下,执行完命令只会存在如下两条记录 123➜ brcc git:(main) git remote -v origin git@github.com:dislazy/brcc.git (fetch)or...
Github-pr最佳实践
Pull Request在github中的作用 主要是用来做代码review 从开发分支合并到环境分支 控制不同级别人员对于分支内容的提交 Pull Request在github中的三种合并分支的方法一、merge 合并1、特点 merge是指将开发分支的代码merge到目标分支 merge会产生一条对应的merge记录 merge会存在代码覆盖情况,如果产生冲突需要手动解决2、适用场景 适用于不同分支向不同目标分支合并代码的所有场景 二、squashing 压缩合并1、特点 squashing 会将开发分支中的代码commit合并为一个综合的commit squashing 会将综合的commit作为一次commitmerge到目标分支中 squashing 如果存在多分支之间切换的情况,会出现多次综合性的commit中出现重复的提交2、适用场景 适用于不同开发分支向同一目标分支合并代码的场景 三、rebase 变基合并1、特点 rebase 变基是将用户的commit插入到目标分支合适的位置 rebase和merge是不同的合并方式,它类似于cherry p...