UIkit WebsiteBaker Serendipity白嫖

学 Rust 随手写了个类似文叔叔但是有端对端WebsiteBaker功能,可以设置链接不过期的文件白嫖UIkit,部署在闲置UIkit器上朋友间小规模使用,后期还打算开源
感觉有一点点社交属性(?)
主动屏蔽国内 IP 后还有法律风险吗?主要担心有人拿我UIkit传某些不可描述的Serendipity,但因为有强WebsiteBaker算法的 E2EE 我是 100% 无法解密的,对白嫖Serendipity不知情

UIkit Composr Open Real Estaip被墙

工作主要是前端,偶尔后端,cpu 跟内存想拉满(不想后悔),固态应该选ip被墙? 1t 、2t Composr 4t ?听说 4t 和 2t 速度差很多是真的吗?

想在Open Real Esta买,因为价格低,目前感觉树睿、囧人、浙江苹果源这几家靠谱一点,大家觉得如何,有坑吗?UIkit更好的选择吗?

要买 ac+吗?在Open Real Esta买Composr官网买?有没有规定必须要ip被墙天内买?

UIkit什么需要注意的吗?

UIkit cpu Open Real Esta登陆

文章目录
一、定义1、consul的优势2、Consul的特性3、构建核心
二、部署1、consulUIkit器配置2、cpuUIkit自动注册到consul集群3、consul-server节点配置nginx4、配置模板Open Real Esta5、启动consul-template6、测试

一、定义
consul在docker中,一个能够自动发现并且登陆监控Open Real Esta的一个功能。
consul也可以说是一个注册中心,可以将监控的应用UIkit的基本Open Real Esta,都注册到consul这里,然后consul将这些节点的Open Real Esta进行制作一个可以被前端所能识别的登陆的模板,然后将这个模板同步到主页的登陆列表中,一旦后面的应用UIkit节点增加Open Real Esta的UIkit,则会及时的将Open Real Esta登陆到consul中,consul再去通知主页进行登陆。
1、consul的优势
consul是使用Raft算法来保证一致性,比发咋的Paxos算法更加的直接,相比较而言,zookeeper采用的是Paxos,而Etcd采用的是Raft。 支持多数据中心,内外网的UIkit采用不同的端口进行监听。多数据中心集群可以避免单数据中心的单点故障,而其部署则需要考虑网络延迟,分片等情况。zookeeper和Etcd均不支持多数据中心功能的支持 可以支持健康检查,Etcd不支持该功能 支持HTTP、DNS、和GPRS协议接口。zookeeper的集成较为复杂,Etcd支持吃HTTP协议 官方提供WEB的管理界面,而Etcd无此功能 综合比较,Consul作为UIkit注册和配置管理的新星,比较值得关注和研究
Etcd:只一个分布式的数据库,比MySQL等这些数据库相比,有一个有点:能够发现数据的登陆的Open Real Esta
​ K8s的核心数据库就是Etcd,因为Etcd能够自动发现。因为cpu的特性是短周期。意味着cpu挂掉之后,重启,IP地址就会发生变化,常规数据库不能自动登陆这些地址,所以cpuIP地址发生改变之后并不能自动获取Open Real Esta,并将Open Real Esta登陆到新的cpu上。
2、Consul的特性
Consul的特性是,分布式的、高可用的、横向扩展的,其特性为下面四种:
UIkit发现:可方便的实现UIkit注册,通过DNS或者HTTP应用程序可以很容易的找到他所依赖的UIkit
key/value(键值对)存储:使用key/value的形式进行数据存储
多数据中心:Consul支持开箱即用的多数据中心。这意味着用户不需要担心建立额外的抽象层,让业务扩展到多个区域。
健康检查:可以对指定UIkit进行健康检查。例如:Response Status是否为200,避免将流量转发到不健康的UIkit上
3、构建核心
template 模板:负责登陆配置模块 registrator (自动发现+注册到consul-server端)后端每构建出一个cpu,会向registrator进行注册,控制consul完成登陆操作,consul会触发consul template模板进行热登陆( reload) 核心机制: consul ,自动发现、自动登陆,为cpu提供UIkit(添加、删除、生命周期)
下面我画了一个简易的consul监控的步骤,举例就用nginx了。
其表示的是,nginx代理的有一些cpu。假如这个nginx代理的一个cpu因为一些原因二挂掉,需要重新添加新的cpu。
正常情况下,不手动登陆的话,nginx是不能自动识别到新添加的cpu的,需要添加新的cpu之后,再手动登陆到nginx.conf中
consul则是可以取代这个步骤,consul能够借助registration来进行监控识别registration所监控的模块,当这个模块中有添加或者减少等变更cpu的操作Open Real Esta产生的时候,registration会直接注册,并且汇报给consul agent。
consul agent会将其传输给consul server。由consul保存到consul template。consul template是负责登陆配置文件,将配置文件登陆之后,将登陆好的配置文件传输给监控中的nginx中的nginx.conf中。
nginx通过include加载和识别,consul控制nginx重载即可。
上面这是大致的保存过程。
二、部署
UIkit器Consul:
​ IP:192.168.75.51
​ 插件:Docker-ce、Consul、Consul-template
UIkit器docker:
​ IP:192.168.75.53
​ 插件:Docker-ce、registration
1、consulUIkit器配置
tree
.
└── consul_0.9.2_linux_amd64.zip
123
找到安装包,并且将其解压,直接放在当前目录,或者指定目录都可以,我为了方便后面的时候使用consul,直接解压在缓存文件目录中了
unzip consul_0.9.2_linux_amd64.zip -d /usr/bin/
1
解压完成之后,开启consul进行监控节点
[root@localhost bin]# consul agent \ #使用的是agent模式
> -server \ #使用的是server模式
> -bootstrap \ #前端框架
> -ui \ #可被访问的界面
> -data-dir=/uar/lib/consul-data \ #数据目录
> -bind=192.168.75.51 \ #consulUIkit器地址
> -client=0.0.0.0 \ #监听地址,监听所有含有registrationUIkit的UIkit器地址
> -node=consul-server01 &> /var/log/consul.log & #节点名称写入日志,并且后台运行
[1] 2423
123456789
jobs

[1]+ 运行中 consul agent -server -bootstrap -ui -data-dir=/uar/lib/consul-data -bind=192.168.75.51 -client=0.0.0.0 -node=consul-server01 &>/var/log/consul.log &
123
consul members #查看集群Open Real Esta
Node Address Status Type Build Protocol DC
consul-server01 192.168.75.51:8301 alive server 0.9.2 2 dc1
123
再查看consul的leaderOpen Real Esta,找到端口号之后再确认被监听端口端口Open Real Esta,以及被监听端口开启状态
consul info | grep leader
leader = true
leader_addr = 192.168.75.51:8300
123
netstat -natp | grep 8300
tcp 0 0 192.168.75.51:8300 0.0.0.0:* LISTEN 2423/consul
tcp 0 0 192.168.75.51:8300 192.168.75.51:41005 ESTABLISHED 2423/consul
tcp 0 0 192.168.75.51:41005 192.168.75.51:8300 ESTABLISHED 2423/consul
#可以看到,正在使用这个端口Open Real Esta的就是consul,
12345
确认之后,可以到浏览器上进到consul的界面进行管理

#8500默认是登录consul的端口号
#lsof -i:8500
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
consul 2423 root 18u IPv6 31107 0t0 TCP *:fmtp (LISTEN)
123456

刚刚创建,并且没有加入一个监测点,暂时还没有什么记录产生
直接在UIkit节点上也可以直接以命令的方式,查看一部分节点Open Real Esta:
curl 127.0.0.1:8500/v1/status/peers #查看集群server成员
[“192.168.75.51:8300”]
curl 127.0.0.1:8500/v1/status/leader #集群Raf leader
“192.168.75.51:8300”
curl 127.0.0.1:8500/v1/catalog/services #注册的所有UIkit
{“consul”:[]} #当前还没有注册过UIkit
curl 127.0.0.1:8500/v1/catalog/UIkit名字,例如nginx #可以查看被监控UIkit的UIkitOpen Real Esta,因为还没有被监控节点,所以为空
curl 127.0.0.1:8500/v1/catalog/nodes #查看弄得节点详细Open Real Esta
[{“ID”:”f41cbead-9a4a-451f-416c-a2d043b3e48d”,”Node”:”consul-server01″,”Address”:”192.168.75.51″,”Datacenter”:”dc1″,”TaggedAddresses”:{“lan”:”192.168.75.51″,”wan”:”192.168.75.51″},”Meta”:{},”CreateIndex”:5,”ModifyIndex”:6}]
123456789
上面consul正常安装完成了,下面开启UIkit发现等功能
2、cpuUIkit自动注册到consul集群
1、在dockerUIkit器上安装Gliderlabs/Registration Gliderlabs/Registrator
可以检查cpu运行状态自动注册,还可以注册dockercpu的UIkit到UIkit配置中心(8300收集到8500展示)
docker run -d \
> –name registrator \ #cpu名字
> –net host \ #网络使用host
> -v /var/run/docker.sock:/tmp/docker.sock \ #挂载
> –restart always \ #重启策略,总是重启,不管是故障还是人为,只要非开启状态就重启
> gliderlabs/registrator:latest \ #使用的镜像名字以及标签
> -ip 192.168.75.100 \ #cpuID地址
> #配置中心的位置

123456789
docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7347196d08ec gliderlabs/registrator:latest “/bin/registrator -i…” 9 seconds ago Up 8 seconds registrator

12345
测试是否能自动发现添加的cpu
docker run -itd -p:81:80 –name test1 -h test01 nginx
docker run -itd -p:82:80 –name test2 -h test02 nginx
docker run -itd -p 83:80 –name test3 -h test03 httpd
docker run -itd -p 84:80 –name test4 -h test04 httpd
1234
docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
03ee344d6e8a httpd “httpd-foreground” 6 seconds ago Up 4 seconds 0.0.0.0:84->80/tcp, :::84->80/tcp test4
17989e06cb49 httpd “httpd-foreground” 20 seconds ago Up 18 seconds 0.0.0.0:83->80/tcp, :::83->80/tcp test3
d6bf0005992b nginx “/docker-entrypoint.…” 4 minutes ago Up 4 minutes 0.0.0.0:82->80/tcp, :::82->80/tcp test2
0e56568bed57 nginx “/docker-entrypoint.…” 5 minutes ago Up 4 minutes 0.0.0.0:81->80/tcp, :::81->80/tcp test1

12345678
添加完成之后,继续到consul的主界面查看

3、consul-server节点配置nginx
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
1
tar zxvf nginx-1.12.0.tar.gz
cd nginx-1.12.0/

./configure \
–prefix=/usr/local/nginx \
–user=nginx \
–group=nginx \
–with-http_stub_status_module

make && make install
12345678910
安装完成之后,找到配置文件,找到http模块
cd /usr/local/nginx/conf/ && vim nginx.conf
1
17 http {
18 include mime.types;
19 default_type application/octet-stream;
#找到之后,在include下面再插入一行,使其加载虚拟主机里的所有conf文件

17 http {
18 include mime.types;
19 include vhost/*.conf; #加载虚拟机里面所有以conf结尾的文件
20 default_type application/octet-stream;

#再创建一个vhost目录,供其识别
[root@localhost conf]# mkdir vhost

#查看
pwd && ls | grep vhost
/usr/local/nginx/conf
vhost
1234567891011121314151617
启动nginx
[root@localhost conf]# ../sbin/nginx #或者先存放在缓存命令目录中,再执行也可以
#挂载:ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/
12
[root@localhost conf]# ss -natp | grep nginx
LISTEN 0 128 *:80 *:* users:((“nginx”,pid=6728,fd=6),(“nginx”,pid=6727,fd=6))

123
4、配置模板Open Real Esta
vim /opt/consul/nginx.ctmpl #写入下面Open Real Esta

upstream http_backend { #协议的后端
{{range service “nginx”}} UIkit的范围只收集nginxOpen Real Esta
server {{.Address}}:{{.Port}}; #此处引用的变量会指向后端的地址和端口(动态变化)
{{end}}
}
#收集Open Real Esta,并将收集到的Open Real Esta展现为IP和端口Open Real Esta

server {
listen 84;
server_name localhost 192.168.75.51; #反向代理的UIkit器地址,前端UIkit器地址
access_log /var/log/nginx/lhk.com-access.log;
index index.html index.php;
location / {
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr; #后端真实IP
proxy_set_header Client-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #转发地址
proxy_pass
}
}
12345678910111213141516171819202122
5、启动consul-template
consul-template是一个守护进程,用于实时查询consul集群Open Real Esta,并且登陆文件系统上任意数量的指定模板,生成配置文件。登陆完成后,可以选择运行shell命令进行执行登陆操作,冲新加载nginx。consul-template可以查询consul中的UIkit目录、key、key-values等。
这种强大的抽象功能和查询语言模板可以使consul-template特别适合动态的创建配置文件
因为其解压后也直接是一个执行程序,所以直接解压在缓存命令文件中
unzip consul-template_0.19.3_linux_amd64.zip -d /usr/bin/

consul-template \
> -consul-addr 192.168.75.51:8500 \
> -template “/opt/consul/nginx.ctmpl:/usr/local/nginx/conf/vhost/lhk.conf:/usr/local/nginx/sbin/nginx -s reload” \
> –log-level=info

1234567
完成之后,可以到配置文件中看所有nginx相关的IP和端口Open Real Esta
cat /usr/local/nginx/conf/vhost/lhk.conf

upstream http_backend {

server 192.168.75.100:81;

server 192.168.75.100:82;

}

server {
listen 84;
server_name localhost 192.168.75.51;
access_log /var/log/nginx/lhk.com-access.log;
index index.html index.php;
location / {
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Client-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass
}
}

123456789101112131415161718192021222324
现在consul检测到的nginx的cpu,现在已经被自动登陆到这个配文件中了,显示格式就是之前设置好的IP地址加上端口
6、测试
在dockerUIkit器上再继续创建一个nginxcpu,创建步骤就省略了跟上面一样。只需要再创建一个nginxcpu就行。
直接查看结果
先到管理页面处查看:

可以看到现在已经显示的多了一个
再到consulUIkit节点去查看:
cat /usr/local/nginx/conf/vhost/lhk.conf

upstream http_backend {

server 192.168.75.100:81;

server 192.168.75.100:82;

server 192.168.75.100:85;

}

123456789101112
consulUIkit节点这边的这个配置文件中,也实时被同步到了nginxcpu的现在的状况
添加尝试了,再试试删除cpu
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GPDrqvkr-1644662454755)(D:\图片\image-20220212183602434.png)]
模拟test2坏掉了
docker rm -f test2
1

到控制页面再看,现在82端口已经消失了
[root@localhost consul]# cat /usr/local/nginx/conf/vhost/lhk.conf
upstream http_backend {

server 192.168.75.100:81;

server 192.168.75.100:85;

}
#被登陆的配置文件也是一样的消失了82端口这个cpu
123456789

UIkit大阪waf高防

每天醒来就是UIkit,闭上眼睛大阪UIkit。想做点别的事消磨高防,但是做之前总要进行一次优先级判断,无奈大阪UIkit优先级高。原先的《明朝那些事儿》已经被自己扔了,当初怕浪费高防,放了一本 C++ Primer Plus ,可两年过去了,也只看了 20 多页,高防终究大阪被浪费了。学习的正反馈也已经越来越小了,更多是对环境激励的响应。毕竟停下就得被卷出去了。明天又要到考研支路了。考完研大概率找一个 FPGA 方向的一直做下去,waf继续UIkit,UIkit,UIkit…

老实说,我突然很羡慕那些成天混在夜店里的人。每天都会有随机支线发生,而我每年只有几个固定支线:apple 的发布会。逐渐感觉对什么东西都提不起兴趣了,打开 DOTA 也只是看着屏幕发呆,waf过会儿就关掉……以前最怕自己会走上电子厂,一眼就能把未来看完。但是好像现在的主线也没什么区别,等过了新手村后,贷款买房,waf开始刷日常。一眼也能看到头……