jiemin's Blog

本来无一物,何处惹尘埃


  • 首页

  • 归档

  • 标签

2019年总结

发表于 2020-01-19

记一次http 400错误及解决办法

发表于 2020-01-11

问题描述

前后端分离项目部署到开发环境后,浏览器发起请求,访问后端接口一直报400错误,而通过浏览器直接访问后端接口可以访问成功

问题定位

根据问题描述可以定位是前端部署nginx出现问题,定位问题和寻找方法经过:

  1. 调大client_header_buffer_size和large_client_header_buffers这两个参数(无效)
  2. proxy_pass反向代理的域名改为ip(不适用)
  3. 空请求导致400问题,将监听的server_name localhost; 改为servername ;(无效)
  4. 通过postman模拟浏览器请求,设置和浏览器访问一下的请求头,逐步勾选取消各项请求头来测试,直到请求正常为止,经过测试发现请求头中勾选的Host取消后请求恢复正常

问题解决

通过上述问题排查,基本可以确定nginx配置文件中如下的问题

1
2
3
4
5
6
location ~ (.*?\/api\/).*$ {
proxy_pass http://ads-report-service.pass.cmbchina.cn
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host; // 取消这行请求恢复正常
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

Mac读写NTFS移动硬盘

发表于 2019-12-14

Mac版本: 10.11.6

1、插入NTFS移动硬盘

2、打开iterm2终端,输入以下命令

1
diskutil list

获取到移动硬盘磁盘名称

3、编辑fstab文件

1
2
3
4
5
6
sudo vi /etc/fstab
## 输入以下内容
LABEL=photo none ntfs rw,auto,nobrowse
LABEL=music none ntfs rw,auto,nobrowse
LABEL=work none ntfs rw,auto,nobrowse

4、重启或者重新插拔移动硬盘
5、进入Volumes目录并打开

1
2
cd /Volumes/
open ./

此时已经可以写入移动硬盘中的目录

注意点: 移动硬盘的名称不要使用中文,否则会导致mac识别不了,这个问题暂时没找到解决办法

elasticsearch去重在JAVA项目中的应用

发表于 2019-11-14

ES环境配置

  1. ES版本:6.4.0
  2. ES集群服务器 3台
IP 备注
10.80.5.6 master节点
10.80.5.7 data节点
10.80.5.8 data节点

配置文件示例

1
2
3
4
5
6
7
8
9
10
11
12
cluster.name: mic-ga-es # 集群名字
node.name: node-001 # 当前节点名字
node.master: true # 是否是主节点
network.host: 10.80.5.9
node.data: true # 是否是数据节点
path.data: /opt/elasticsearch-6.4.0/data
path.logs: /opt/elasticsearch-6.4.0/logs
transport.tcp.port: 9300
http.port: 9200
discovery.zen.ping.unicast.hosts: ["10.80.5.6:9300","10.80.5.7:9300","10.80.5.8:9300"]
discovery.zen.minimum_master_nodes: 1
  1. 启动命令

/opt/elasticsearch-6.4.0/bin/elasticsearch -d

阅读全文 »

部署暗网站点

发表于 2019-10-08

前言

经过几个月暗网相关的数据爬取和处理相关工作,偶然发现暗网中的有些站点在普通网络中也是存在的,就只是站点名称不一样,就萌发了尝试在暗网上部署一个站点想法,查阅了一些资料后发现还挺简单的,在此记录一下。

部署

前置环境

  1. 已经部署好tor代理,可参考onionscan + tor 实现暗网爬取
  2. 有一个web服务,这里以我自己的博客服务为例

步骤

1、修改tor代理的配置,在最后添加一下配置

1
2
3
4
5
vi /etc/tor/torrc
# 添加的内容
HiddenServiceDir /home/tor/hidden_service/
HiddenServicePort 80 blog.jmzhao.top

2、重启tor服务

1
2
3
su tor
kill -9 $(ps -ef |grep tor | grep -v grep | grep -v bash | grep -v su | awk '{print $2}')
nohup tor &

3、查看生成的onion域名

1
2
3
4
5
cd /home/tor/hidden_service/
cat hostname
## 结果
3pe7ee6ubwyxbesl.onion

4、测试访问结果

参考文章

使用Tor创建.onion域名网站(创建暗网服务和暗网的网站)

Redis Cluster搭建和问题记录

发表于 2019-08-27

安装

1、下载redis

1
wget http://download.redis.io/releases/redis-5.0.5.tar.gz

2、安装依赖

1
yum install gcc

3、编译redis

1
2
3
cd redis-5.0.5/
make MALLOC=libc
make install

4、将redis放到指定目录

1
cp -r /root/redis-5.0.5/ /opt/redis-master

5、修改redis配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
vi redis.conf
## 修改以下配置
# dir 默认配置是 ./ 是相对路径,对应的aof,rdb,nodes.conf文件会在执行启动命令时的目录下路径,需要改成绝对路径
dir /opt/redis-master/
# 以守护进程的方式启动
daemonize yes
# redis 端口号好
port 6381
# 去掉注释,开启集群
cluster-enabled yes
cluster-config-file nodes.conf
# 开启aof备份
appendonly yes

将以上配置文件复制6份,放到相应的路径下,修改配置文件中的端口号和dir的路径

最终修改完成后的redis信息如下:

服务器 redis路径 reids端口号
10.80.5.8 /opt/redis-master 6381
10.80.5.8 /opt/redis-slave 6382
10.80.5.9 /opt/redis-master 6381
10.80.5.9 /opt/redis-slave 6382
10.80.5.10 /opt/redis-master 6381
10.80.5.10 /opt/redis-slave 6382
阅读全文 »

centos7使用kubeadm搭建Kubernetes

发表于 2019-07-23

前置环境

  • 服务器 centos7
  • docker 18.06.3-ce

搭建步骤

基础安装

1、 安装kubeadm

1
2
3
4
5
6
7
8
9
10
11
cd /etc/yum.repos.d
vi kubernetes.repo
# 添加以下内容
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
# 安装
yum install -y kubeadm

2、下载镜像

由于被墙的关系,需要先下载好kubeadm初始化所需的镜像。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 1. 查看所需镜像的版本
kubeadm config images list
# 结果如下
k8s.gcr.io/kube-apiserver:v1.15.0
k8s.gcr.io/kube-controller-manager:v1.15.0
k8s.gcr.io/kube-scheduler:v1.15.0
k8s.gcr.io/kube-proxy:v1.15.0
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.3.10
k8s.gcr.io/coredns:1.3.1
# 2. 从阿里云镜像仓库下载所需镜像
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.15.0
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.15.0
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.15.0
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.15.0
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.3.10
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.3.1
# 3. 给镜像打标签成kubeadm所需镜像名
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.15.0 k8s.gcr.io/kube-apiserver:v1.15.0
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.15.0 k8s.gcr.io/kube-controller-manager:v1.15.0
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.15.0 k8s.gcr.io/kube-scheduler:v1.15.0
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.15.0 k8s.gcr.io/kube-proxy:v1.15.0
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1 k8s.gcr.io/pause:3.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.3.10 k8s.gcr.io/etcd:3.3.10
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.3.1 k8s.gcr.io/coredns:1.3.1

阅读全文 »

onionscan之数据提取

发表于 2019-06-28

需求

onionscan爬取暗网数据后,是使用tiedot这个非关系型数据库进行数据存储,需要从tiedot提取出来暗网的网址链接

tiedot

简介

tiedot 是一个文档型数据库引擎,它使用 JSON 作为文档表示方法;有一个强大的查询处理器,支持高级设置操作;可以嵌入到程序中,也可以使用 HTTP 为 API 运行独立服务

github地址: https://github.com/HouzuoGuo/tiedot

启动tiedot

1
2
3
4
5
6
# gopath路径为/root/gopath
go get github.com/HouzuoGuo/tiedot
# 进入生成tiedot的目录下,如果$gopath/bin已设置为环境变量,可忽略这一步
cd /root/gopath/bin
# 启动tiedot的httpd服务
tiedot -mode=httpd -dir=/opt/onionscandb -port 9090

tiedot文件结构

进入/opt/onionscandb目录下,可以看到onionscan保存的数据目录结构如下图,crawls和relationships是tiedot的两个集合

其中relationships目录中结构如下图,From,Identifier, Onion, Type是四个索引,被索引的字段才可以被查询到


阅读全文 »

onionscan + tor 实现暗网爬取

发表于 2019-06-26

环境安装

1、安装相关依赖

1
2
3
4
5
6
yum update
yum install git bison libexif-dev
yum install tor
yum install epel-release
yum install python-pip
pip install stem

2、 安装go语言环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 下载
wget https://dl.google.com/go/go1.12.6.linux-amd64.tar.gz
# 解压
tar -C /usr/local -xzf go1.12.6.linux-amd64.tar.gz
# 创建go项目路径
mkdir -p /root/gopath
# 添加环境变量
vi /etc/profile
# 添加内容
GOROOT=/usr/local/go
GOPATH=/root/gopath
export GOROOT
export GOPATH
export PATH=$PATH:$GOPATH/bin:$GOROOT/bin
# 使环境变量生效
source /etc/profile

3、安装onionscan

1
2
3
4
5
6
7
8
9
10
# 由于golang.org被墙,不能直接下载文件,所以需要从镜像仓库手动下载相应的依赖文件
mkdir -p /root/gopath/src/golang.org/x
cd /root/gopath/src/golang.org/x/
git clone https://github.com/golang/net.git
git clone https://github.com/golang/crypto.git
git clone https://github.com/golang/sys.git
# 安装onionscan
go get github.com/s-rah/onionscan
go install github.com/s-rah/onionscan

在命令行输入onionscan返回相应的命令信息表示onionscan安装成功


阅读全文 »

hyperledger Fabric学习笔记

发表于 2019-05-28

fabric概念

名词概念

  1. chaincode: 智能合约
  2. transaction: 交易,每条指令都是一次交易
  3. world state: 对同一个key的多次交易形成的最终value,就是世界状态。
  4. endorse: 在我们的共识机制的投票环节里,背书意味着参与投票。
  5. endorsement policy: 背书策略。由智能合约chaincode选择哪些peer节点参与到背书环节来。
  6. peer: 存放区块链数据的结点,同时还有endorse和commit功能。
  7. channel: 私有的子网络,事实上是为了隔离不同的应用,一个channel可含有一批chaincode。
  8. PKI: Public Key Infrastructure,一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。
  9. MSP: Membership Service Provider,联盟链成员的证书管理,它定义了哪些RCA以及ICA在链里是可信任的,包括定义了channel上的合作者。

开发概念

fabric联盟链的开发人员主要分为三类:底层是系统运维,负责系统的部署与维护;其次是组织管理人员,负责证书、MSP权限管理、共识机制等;最后是业务开发人员,他们负责编写chaincode、创建维护channel、执行transaction交易等

开发环境部署

前置环境

  1. docker
  2. docker-compose
  3. git

可参照:docker和docker-compose安装

阅读全文 »
12…6
我爱的乌托邦

我爱的乌托邦

60 日志
23 标签
© 2020 我爱的乌托邦
由 Hexo 强力驱动
主题 - NexT.Pisces